I am 1st a graphic designer and 2nd a web developer
My experience with ad agencies (not saying you are one or work for one) is that web design is done in the graphics department. The prime goal is to get it to "look" right/good/whatever. Then a code "technician" is brought in to "make it work." This paradigm began when the web was new and websites were built with tables. The table formed a grid and the "design" could be applied to it.
But with CSS a whole new approach is required because of the fluidity of web design and architecture. Sometimes the structure of the code can be more "important" to the performance of the site than its "looks." The whole "table" approach should be scrapped because it ranks the "design" as more important than the "content." But on the Internet content is king. So, design needs to work around content, not the other way around.
Again, I'm not saying that you or anyone here is doing this. I'm just saying that CSS requires a complete change of approach to web design. Nothing substitutes for knowing how CSS works.
But I also use templates because they will have handled some of the basic browser differences that can drive a designer nutz. There are various templates available. I prefer the simpler ones, like http://blog.html.it/layoutgala/
. There you have a variety of styles around which to apply your design.