Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial
pgmd
6,895 PointsJavascript or CSS
It seems that Javascript does some of the same things that CSS does such as manipulating color, backgrounds...When do I use one over the other?
2 Answers

Dave Berning
17,365 PointsAs a general rule, always use CCS first. The animations within CSS are much more efficient on power and much faster than those of JavaScript. It also takes less resources to load and perform CSS than it does JS. CSS goes hand-in-hand with HTML and styles the page; JavaScript is how the page behaves.
If you can't achieve what you need in CSS, then and ONLY then use JS. It's simpler to read and maintain when things like <a> hover states, colors etc are coded in CSS.
I pretty much use JS for backwards compatibility between browsers, images sliders, galleries etc. I never use it for structure and basic animations. CSS3 adopts new features pretty frequently.
One last thing, you don't have to worry too much about this now but it's still a good to be aware of this. Users have the option to disable any JavaScript from loading from any page. If all the functionally and aesthetics is coded in JS, you just lost all of that hard work. It was a big deal in the 90's and early 2000's but not so much now.

Samuel G
276 PointsJavascript can really help with movement, animations, more advanced web-oriented things etc. Comparatively CSS is really more for standard styling. But it shouldn't be Javascript OR CSS, combine them both and you will get some beautiful results.

Dave Berning
17,365 PointsI agree that when combined, you can get really nice results. However, since CSS is more of a standard always use CSS for basic animations, color changes, hover states, etc. It's more efficient on power and response times than JS.
If you can do what you want in both CSS and JS...use CSS.

pgmd
6,895 PointsThank you!
pgmd
6,895 Pointspgmd
6,895 PointsThank you for the complete answer!!!!