hottwheelz - I seriously code a *lot* of CSS into my sites. There is NO style information in the core HTML (which I generate using PHP mostly, sometimes Perl), which is the way it should be. Images are only used to present information, not as navigation or anything else. Most people would probably say my sites aren't flashy enough, but I tell you this: render any of my stuff on any screen and it will work (aside from IE 5.5 Mac, but MS can go to hell, the non standards-compliant whores). When you render static images they look like ass on any screen but what you design for. Lots of extra work for less navigability and larger page size. Not cool.
I also use a lot of DIV tags. Probably 10 a page. Keeps things nice and neat, but that's where IE starts shiatting the bed. Man, I hate that browser. It seriously can't handle anything worth a damn. Anyhow, CSS + DIV tags = easy sailing ahead, you just have to get the sweet setup. The way I have a modularized site going is with PHP generating a bunch of different little pages. Each could stand on their own and meet the W3C standard compliance, but they get encapsulated in DIV tags. Each option you choose to go to, changes the output of the PHP to enter different things into the HTML page being sent to the client. Like, if you choose "Cars", the "get.php" I wrote will select "cars.php" to run, instead of, say, "music.php" or "aboutme.php". Then each php file just handles one part of the page. I might not be explaining this too well, but I'm tired and drunk, so if you have any questions, go for it - I'm going to bed