Stephen Now In Full (24 bit) Colour

There's still tons of tweaking to be done yet and I want to add a few finishing touches that I hope don't turn out to look crap when I get around to adding them (which isn't likely to be particularly soon), but the place still looks much better than it did until this year. I still had my inevitably ferocious battles with CSS, but I'm happy with the way the place looks now as a first draft. I didn't just have a new version of XHTML to get to grips witheither. Part of what made my battles with CSS more challenging was that CSS 3 is also relatively new to me. For many years I'd just completely given up on CSS: hence the bleakness of this place's previous guise. When I gave up on CSS, version 2.1 hadn't even reached Recommendation status yet. I got sick and tired of all the incompatibilities different browsers would have with the same styling instructions. What was even more infuriating was when a Web Browser's CSS implementation would be deliberately broken. So I decided to just forget about hoping for browsers to start playing nice and forget about CSS for however many years it'd take for CSS as a standard to improve and, most importantly, for the level of support in most browsers to improve.

With the graduation of (X)HTML 5 to Recommendation status late last year, I thought it was probably a good time to come back to the client side and see how things have moved on. So far I've been pleasantly suprised to find that (X)HTML 5 is suitably well structured for making actual Web pages for today's World Wide Web. HTML 4 always struck me as being a bit too rigid. Like it was intended for just presenting a digital version of a page taken straight from a textbook. No more; no less. Obviously you could try to style it with CSS, but the markup seemed designed to guide the author into making documents that were fine for academic purposes, but not particulrly well suited to much else. I was worried that, in (X)HTML 5, the pendulum would swing too far the other way and we'd just end up with what ammounted to meaningless gibberish. I became even more worried when someone said to me "It's stupid. You can just make up any ol' crap now. It's like XML without the namespaces; so it's meaningless". That was quite a while ago now, so I'm hoping it just arose from the confusion of almost everybody trying to treat, what was at the time, a rapidly changing set of proposals as a rock-solid and finished Recommendation. That's how I took it at the time and I haven't seen anything in the Recommendation yet that would support that statement, but I'll just have to read the rest of it for clarity. So far, I've only read enough of it to be able to put togther markup templates and try to properly structure existing pages in the site. The conformance checker picks up on and calls out any elements it finds that do not belong, so that's reassuring. Although it does say that it's still considered experimental and its behaviour is subject to change.

Support fot CSS has improved dramatically too. I strongly suspect that the collapse in the market share of Microsoft Internet Explorer and the rise in support of CSS standards are not merely coincidental. It's been so long since I put any real efforts into CSS that I don't even know what the current versin of MSIE is, let alone what it does and does not support, but it's nice to know that I don't have to worry about it just yet. That doesn't mean that CSS and I have kissed and made up just yet, though. CSS is—in my view—still far more complicated than it needs to be. The justification for the complexity seem to make little sense too. Apparenty, it's for the benefit of those that come from a background in print media. The relation between the two media is obvious, so it sounds like a reasonable thing to do. The problem comes, though, when you try and put it in to practice. Then the less obvious but more problematic differences begin to rear their heads. Especially when it comes to matters relating to the flexible sizing and positioning of elements. Instead of applying style instructins to the thing you actually want to size/position, you often end up having to figure out some hacky approximation to what you want to do that also requires preparation on surrounding elements. Hopefully many of these kinds of problems will be resolved by the introduction and widespread adoption of the CSS Flexible Box Layout Module, but I've no idea how well supported and widely adopted it will become, it's still quite a way off becomming a Recommendation, and it's well over a decade overdue.

Anyway, enough of me whining about CSS. It's still massively improved since I last had a play with it and the latest iteration of (X)HTML seems very good indeed. I look forward to gradually learning about and playing with the new features it brings and enjoying the simplifications and improved semantics over the previous versions.