What do you think is the best way for a beginner to practice CSS?
I recommend a mixture of both theory and practice. While trial and error is a great way to get real world experience, it sometimes helps to see things from another persons perspective as it can give you some ideas you may not have previously considered. I tend to play around with CSS building demo's and chopping my way around the source code to get an effect as optimized and clean cut as possible, but I certainly learnt a lot by reading books, tutorials and getting concepts explained via others who have trodden the path. Whatever you do, just keep at it with dogged determination and it should eventually fall into place!
Practice, practice and more practice
The best way to learn is to experiment and test and then compare the results with the specs to make sure that what you see is what you are supposed to see. Read how something works then test it out and stress test it to make sure it does what it says on the box.
To have a good understanding of CSS you have to grasp concepts and rules behind it but you also have to understand how it actually works in the real world which can only be done with experimenting and listening to others who have been there before.
A lot of the cries for help in the forum are mainly caused by following bad practices or not understanding how something really works. There are of course bugs and traps for the unwary but they are well documented and answered daily in the forums.
We all make mistakes (and still do) and CSS is quite a rich language that often the finer details get overlooked.
The way I learned originally was as soon as I didn't understand something I would construct a few demos to test out and see what happens. I learn much quicker by seeing how something works rather than reading about it.
I do still test a lot these days especially before I give an answer to a question just to make sure that I'm not going senile and that what I say actually works.
If you are just starting out then you can use something like the [Sitepoint live demos to play around with the code and make changes in real time. You should also read through [URL="http://reference.sitepoint.com/css"]the reference ](http://reference.sitepoint.com/css/demos)as there is a lot of good information and best practices in there (not that I am biased of course:) ).
Look at pages that you like and try to recreate them, mimic their layouts and design.
I learned CSS purely by visiting forums and reading threads. If something came up such as a bug or weird behavior, then I would copy the code and test it out and see what's up with that and why the fix works (sometimes there's no logical reason)
I couldn't really learn from tutorials on the web. I needed real people in forums to be there and sometimes explain stuff to me.
Other then that, exactly what Paul siad
That is not an easy question to answer, since the opinions about that are divided as you probably have seen in some of the threads here on Sitepoint. I would suggest to start with reading about it and to follow Tutorials. On a nearly daily basis you will find interesting articles about this subject here on Sitepoint.