Cascading Style Sheets (CSS) is the painter's palate of web development; it gives life to the blank canvas that is HTML. Personally, I often loath working with HTML and CSS because of how inconsistent browsers are in rendering it and how inconsistent browser support for various aspects of CSS are. Fortunately, this landscape is changing and browsers are making efforts to standardize rendering.
In determining browser support, my go-to is: caniuse.com. As far as being able to write CSS cross browser I recommend setting up VirtualBox with at least 3 virtual machines: 1. Windows XP with IE8 (this allows you to test down to IE6), 2. Windows 7 with IE9, and 3. Windows 7 with the latest IE, whatever it is.
Perhaps this isn't news to anyone, but forewarning IE10 does not support conditional comments. Even more unfortunate is that MSDN removed the comments from the page about their lack of support, because they were a rather entertaining read (yes, I already checked the Wayback Machine).
Check out css3generator.com. It's awesome. It will generate snippets of CSS for you.
CSS Coding Guidelines
Here are some links. I highly recommend being familiar with SMACSS, BEM, and "intelligent" CSS.
- Scalable and Modular Architecture for CSS (SMACSS)
- Block-Element-Modifier (BEM)
- Object Oriented CSS (OOCSS)
- Functional CSS (FCSS)
- Intelligent CSS (this one is my favorite, but read the others first)