For that purpose, I would say on the internet using tutorials that explain CSS. You can start at the basics and work your way up to whatever level you wish to master it. If you are serious about web development, you can also purchase a book about it but have a go at the online material first.
Make a few webpages yourself and style them using CSS. You can also alter existing WordPress themes and see what happens.