Is using Javascript/JQuery for layout and style bad practice

cssfront-endjquery

Many, but not all, HTML layout problems can be solved with CSS alone.

For those that can't, JQuery (on document load) has become very popular.*

As a result of its ease, many developers are quick to use JQuery or Javascript for layout and style — even without understanding whether or not the problem can be solved with CSS alone.

This is illustrated by responses to questions like this one.

Is this bad practice? What are the arguments for/against? Should someone who sees this in practice attempt to persuade those developers otherwise?

If so, what are the best responses to arguments in favor of JQuery saying it's "so easy"?


* Example: Layouts that wish to use vertical layout flow of some kind often run into dead ends with CSS alone — this would include layouts similar to Pinterest, though I'm not sure that's actually impossible with CSS.

Best Answer

If the problem can be solved using CSS, it shouldn't be solved in Javascript, and it's a definitely bad practice to do so:

  • I guess no one has JS disabled nowadays, but NoScript is probably not completely negligible
  • Harder to debug and maintain
  • Probably will introduce a noticeable and ugly effect when JS loads and "fixes" the layout

Of course, there are things which cannot be achieved in CSS alone. In that case, of course, JS is the right solution if you strictly need it.