I really hadn't studied the newer pseudo-classes in css3. It seems like you can get away with a lot less class attributes in HTML which might have been added by a server side language or JS. The :nth-child for selecting even/odd rows of tables comes to mind.
That being said, CSS has always been kind of a black art to me. Floating, em vs percents vs pixels, rules regarding inline vs block elements, the box model with borders, padding and margin... These are all things I had to read up on and experiment with to figure out how they worked. I've spent quite a while trying to read up on all of these things to figure it all out. Contrast this with learning layouts in Java Swing, QT, GTK+ in about 1 days time each. I realize I am comparing a GUI toolkit with the web but... something seems broken here. I'm not sure if it is lack of clear documentation and tutorials, inconstant implementations in older browsers or a failing of the language itself. Maybe its a combination of all of those.
I'm going the other way. Coming from Java/Python and having studied C/C++ briefly, this looks like a huge improvement and something I would actually use for a production project. Hopefully in a few years time there will be more videos/books/tutorials that further explain how to use C++ in this way.
That being said, CSS has always been kind of a black art to me. Floating, em vs percents vs pixels, rules regarding inline vs block elements, the box model with borders, padding and margin... These are all things I had to read up on and experiment with to figure out how they worked. I've spent quite a while trying to read up on all of these things to figure it all out. Contrast this with learning layouts in Java Swing, QT, GTK+ in about 1 days time each. I realize I am comparing a GUI toolkit with the web but... something seems broken here. I'm not sure if it is lack of clear documentation and tutorials, inconstant implementations in older browsers or a failing of the language itself. Maybe its a combination of all of those.