Please experiment. Tweak things. Bust things. Do things no one has thought of yet. The net is very young and the possibilities are wide open.
I'm just pointing out the lay of the code as I see it. I get a lot of email and thought it would help to talk about approach. Explain why some things exist and what I've found they're good for. It's only meant to help people get started, and to be a touchstone when code goes awry. It's not the Sermon on the Mount, it's just some tools.
Somebody said that if you don't know six ways to abuse a tool then you don't know how to use it. Play with this stuff. That's the only way we ever learn anything. Mess with the code.
The other semantic minefield
This is the end of the rant. Someone is going to ask why I haven't talked about font types and colour and space. I'm not going to. That's style. This was about design. You can have any style you want.
NYPL Style Guide. Probably the very best place to start learning how to code for the web.
CSS in the real world. Exactly what it says it is.
For CSS layout, there's a nice explanation of how it works by Mike Hall at Brainjar. Follow that up with examples from BlueRobot's Layout Reservoir, Eric Costello's Layout Techniques, and my own Box Lessons.
The Web Standards Project. In a perfect world browsers would read the code they're made to read. Here on Earth we at least have the WaSP to turn to. Go here to get help and to help out.
A note on the title image. It's a silhouette of Magritte's famous pipe cut from a detail of Jackson Pollock's Number 8. Magritte is appropriate because he was using the medium to explain the medium. Pollock because he was trying to use the medium in its pure form, stripped of imported concepts from other media. Like most good images, I figured out why I like it later.