Instead of working on the database code today, I concentrated on trying to get my web site back to working state. I made some (live!) efforts last night toward putting more CSS-driven layout onto the site. I learned HTML nine years ago, and was still using tables to do my layout. That’s what I knew; I’d not taken the time to pick up CSS layout.
I almost broke down and bought a book on CSS. The people who do web site design are good at what they do, but what they’re usually not good at is explaining it. I had difficulty finding a site that clearly stepped me through what I was trying to do. But I finally found one this morning:this page at 456 Berea Street talks about building a simple two-column page layout. And it does it in terms that I can understand. Thanks, whoever wrote that.
My site has been a bit of a disaster since yesterday. I’ve been doing much of this live, and at one point chose to forge ahead with a significant defect instead of backing it out. The site has finally settled down, but I’m sure there are all sorts of little defects. I’ll work at cleaning them up one by one. My favorite part right now is the errata page, where I replaced a table with a definition list (dl/dt/dd tags). I’m pretty impressed with how much this stuff can improve the look.
I’m sure there are all sorts of defects Internet Explorer exposes that Firefox does not. I came across at least three while I was working, and figuring out how to resolve them was more pain than I would have liked. It turns out that IE is probably the main source of defects, not my code. On at least one page, the text would actually disappear when you scrolled around. Apparently there are a number of workarounds for these IE bugs.
Despite a rough start, I’m finally feeling somewhat comfortable about doing CSS-based layout. It’s not always obvious, but at least it’s starting to make more sense. It has also considerably cleaned up some of my messier pages (nightmares of tables within tables). For that I’m thankful.