I learned by making my own sites. It's also quite helpful to take a site you've designed in
CSS and start over. I've remade the code for my site 10 times and not once was the
CSS even remotely similar. It's quite an amazing language.
http://w3schools.com/
http://csszengarden.com/
http://css.maxdesign.com.au/