gwalla: (Default)
Garth ([personal profile] gwalla) wrote2004-08-06 07:40 pm

CSS, standards, and the web

I was just looking at the working draft for the CSS3 multi-column layout module. It doesn't look good. A whole lot of new properties, including odd ones like "column-width-policy" (what's that supposed to mean? Yeah, the document explains it, but still, the name doesn't really give you much of a hint). If it was up to me, instead of defining a bunch of new properties for stuff like "column-gap" and "column-rule", I'd define a new pseudo-element "::column", and use the existing box-model properties like padding, margin, and border to format it. New keywords "columns" and "inline-columns" (and possibly "column" for the pseudo-element itself) for the display: property would be enough to specify that an element should be broken into columns. A "column-count:" property (taking a numeric value or auto, defaulting to auto), and "column-fill:" (to specify whether the layout engine should fill columns in order, spilling over to the next only when a column is full, or try to even out the number of lines in each column) would be the only new properties needed.

Looking at a lot of the stuff the W3C has been doing lately, it seems they're concentrating more and more on "theoretical purity" rather than ease of use. Since websites are frequently built by people with no training in computer science, IMO this means most people just aren't going to use the new features, and that's sad. I think the WHAT-WG (too bad they didn't name themselves the "Web Task Force"—that'd be a great acronym!) may have the right idea: when the old standards agency gets bogged down and stops being responsive to users, just form a new standards body and do it yourself, like how X.Org recently overtook XFree...or how the W3C superseded the IETF as the web standards body in the first place, for that matter.

[identity profile] rimspace.livejournal.com 2004-08-07 10:51 am (UTC)(link)
I went straight from HTML to XHTML 1.1/CSS2 (for example: http://t2.starforge.co.uk/ (http://t2.starforge.co.uk/) even though I still have tables, mainly because the CSS to do a quad-column, single header triple footer page started to drive me nucking futs - CSS is simpler if you're just doing basic stuff, but for pixel-aligned layout and style control its a nightmare IMO) What bothers me isn't so much sticking to the standards, I can do that even though CSS makes it far from easy to build a pixel-accurate layout, it's the way the page will only actually work in Mozilla. Every other browser on the planet - IE, Konqueror, Opera, Safari, all of them - render it incorrectly to a greater or lesser extent. Now in the case of that page the tables at least make it usable on browsers that don't work properly, but it's still annoying as hell. One site I've been working on actually has to be served in several different flavours depending on the browser simply because I have to keep dropping back to older and older standards to maintain the appearance for some of them (eg: unless Opera has recently added it, Mozilla is the only browser I know of to recognise id in the attribue list of objects and images as required by XHTML - so to get java rollovers to work I need two versions of the pages at least, one with name="" for everything else and one with id="" for mozilla)

I can quite understand people who just don't even want to be bothered with it all - keeping up to the standards is hard enough, all the arsing around needed to actually make it work in all browsers just makes it impossible.

[identity profile] gwalla.livejournal.com 2004-08-08 12:29 am (UTC)(link)
Yeah, getting pixel-perfect layout with CSS is a pain in the ass. But, to be fair, doing pixel-perfect layout with tables is no walk in the park.

The main barrier to serious adoption of CSS is really the half-assed implementations out there.