Let me precede this by saying - JS is one of my favorite programming languages. And I agree, unless you know JS you will not be a well-rounded client-side engineer.
But...
Unless the styles are integral to the functionality of a certain component (usually layout or box model), I prefer to keep the styles where they belong. To me, it is much easier to maintain styles in a stylesheet - especially if you have jr. devs or designers working with you. Yes, CSS easily becomes a big ball of mud. But if you organize it properly - and maybe even use something like LESS or SASS - it is much more maintainable.
It is also the responsibility of a good developer to know when to apply certain techniques. For instance - a simple "grow on hover" is very easy to achieve via CSS animations - with a fallback to non-animated grow on IE etc. But a "grow on hover and then do crazy animations" is probably better accomplished with JS.
geuis|14 years ago
kaylarose|14 years ago
But...
Unless the styles are integral to the functionality of a certain component (usually layout or box model), I prefer to keep the styles where they belong. To me, it is much easier to maintain styles in a stylesheet - especially if you have jr. devs or designers working with you. Yes, CSS easily becomes a big ball of mud. But if you organize it properly - and maybe even use something like LESS or SASS - it is much more maintainable.
It is also the responsibility of a good developer to know when to apply certain techniques. For instance - a simple "grow on hover" is very easy to achieve via CSS animations - with a fallback to non-animated grow on IE etc. But a "grow on hover and then do crazy animations" is probably better accomplished with JS.