First of all, when you are beginning to use CSS you understand that browser compatibility is the main point. You can't only referer to CSS2 or CSS3 convention.
Take a look at quirkmode.
Then here come HTML Dog.
W3Schools is good for beginners but you'll quickly need more pro and detailed references. And at this point, it will depend on your needs.
Then you have to know some CSS tricks & hacks : http://stackoverflow.com/questions/500827/css-tips-which-every-beginning-developer-should-know-about.
Firebug is really our savior.
@media screen
{
div p.goodLuck:before
{
content: "Good luck !" // Don't work on IE (owwww noz, first compatiblity fail :D)
}
}