Log in

No account? Create an account
06 August 2004 @ 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.
Current Mood: geekygeeky
Fade M.: explainfadethecat on August 7th, 2004 02:47 am (UTC)
I wanted to be standards-compliant. It seemed like a good idea.

But then I discovered that to do so I'd have to add lines and lines of assorted stuff to each page, and stop using perfectly useful little tags in favor of defining something and then later on calling up that particular definition just to accomplish the exact same thing, and, well, code bloat just isn't pretty. So I'm...uncompliant.

If there's anyone doing something less "We Are the Defenders of Purity!" than W3C for getting things to work, that would be nice. Because I get tired of the snobby attitude so many W3C standards advocates seem to use whenever they look at my website.

(And I didn't mean to rant, really. But when I ask someone to take a look at content and they start making snide results about how I'm not using style sheets or what not, it gets old fast.)
gwallagwalla on August 7th, 2004 03:49 am (UTC)
Actually, using CSS for styling instead of using tags for it can make things a lot easier, but mostly when you're trying to apply a consistent style across a group of pages (like a whole site). And switching from straight HTML to HTML+CSS can be a real pain (although HTML Tidy can help a lot).

I personally think that CSS itself was a good idea, and that a lot of what the W3C has produced has been well designed. It's just that they seem to be moving in a weird direction lately with CSS3 and other things.
The Watcherrimspace on August 7th, 2004 10:51 am (UTC)
I went straight from HTML to XHTML 1.1/CSS2 (for example: 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.
gwallagwalla on August 8th, 2004 12:29 am (UTC)
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.
Alun Clewealun_clewe on August 7th, 2004 06:41 pm (UTC)
Maybe someday I will bother to learn how to use Style Sheets and do web pages "correctly".

So far, I've been able to get along quite well without them, and have heard nothing to indicate that learning how to use them would be in any way worth my time...
gwallagwalla on August 8th, 2004 12:31 am (UTC)
Well, you're using a templating script, like AutoKeen, right? That kinda removes one of the main reasons for using CSS, which is site-wide consistency.
Alun Clewealun_clewe on August 8th, 2004 12:47 am (UTC)
Er... well, not exactly. For my comic site, the archive pages (including the main page) are generated by cgi code, yes, but I had to write all the HTML out "by hand" first and then write the perl script to generate it (it's my own custom coding, not AutoKeen or any other generally available script). And the other pages of the site (not that there are many other pages yet, since I haven't finished the new Links and About pages and such since my site redesign) aren't generated by any sort of script at all; they're just plain old hand-written HTML.

Plus, I'm not referring to just my Soup site; I have a number of other web pages I've made as well, most of which don't have any sort of scripts running them at this point (though one of them I'm going to write some perl code for to automate certain aspects of it).

Of course, copying and pasting works wonders for site-wide consistency, too. ;)