CSM's recommendation of w3schools.com is good. Part of it can be a bit more arcane but there's good info on http://www.w3.org/Style/CSS too. I think the best way to learn CSS is to view other people's style sheets. However, many professional websites have staggeringly complex style sheets. My websites are all hand-coded and have readable CSS. Head on over to this page and grab my style sheet for something really simple: http://cazort.net/cazort.css I'm not the best visual designer but you may get some ideas and basics from them. Just fidget with it. I especially recommend reading about div's and absolute / relative / fixed positioning early on. Very good info on w3schools.com on this topic. Try making a few layouts on your local computer, try a fixed width layout, variable width, see what you can come up with. It's all about trial-and-error. You should be spending 2% of your time reading tutorials and 98% of the time just fidgeting with the code and reloading the page to get an intuition for how the code translates to the page. Good luck!
cazort, your CSS looks like DreamWeaver stuff, all those classes ... Readable means bigger file size, higher loading speeds, ... anyway, w3schools.com is a good start
I have had no schooling for any html / css knowledge, and now I know a pretty decent amount. Enough to build nice, flashy pages at least. I started with learning HTML for myspace (oh yea, myspace haha) and progressed into CSS. I started both on W3schools.com and once I started understanding it, I practiced in windows notepad, saved the file as html and opened in a browser to see how it looked. Anything I didn't know how to do, I looked up tutorials on google if I couldn't quickly reference it on W3schools. They are great to start learning, and still a great reference point for me now. However they aren't very good for Javascript I've found, as that is what I'm currently working on learning. The best advice I can give you is to start at W3schools.com and practice, practice practice. If you get stuck google it, or come here. DP is also a great help and you can learn much from the other members here. They are helpful and friendly. Good luck with your coding!
Get on Google and type in "CSS tutorial". This will bring back pages and pages of tutorials on CSS. After a while you will find that you want to d specific things such as a horizontal menu or other more advanced stuff and you will look up CSS tutorials specific to those aims. More than anything else it's just sitting down and doing it.
Oh and if you go ahead and download a copy of Visual Studio Express edition (it's free) it will make working with this stuff a lot easier. A note about VS: there are some things in VS particularly when working with ASP or SQL where you need the "design" view but for getting started I recommend working strictly in "code" view. You can see your page from the built in web server so as you work on your CSS you just save the work and refresh your browser. It will show your changes.