Styles for the Autumn Season - Internet Explorer 5.0: With Style, Finally? - Style Watch
Internet Explorer 5.0: With Style, Finally?
Styles for the Autumn Season
Microsoft claims that new parts of the CSS Level 2 specification are implemented in Internet Explorer 5.0. One of the most trumpeted examples are fixed layout tables. Now I have a query here.
Fixed layout tables have the advantage that they support incremental rendering since the column widths are pre-calculated. Now one of the nice things about Internet Explorer 5.0's rendering engine is that it supported incremental re-flow of a document, so tables were rendered incrementally anyway. It's good that Microsoft has implemented fixed layout tables, but I wonder why they didn't pour the man-hours they used for this into implementing something more useful, like word-spacing.
Also new of course is the infamous function notation, with which you can embed scripting directives directly into style sheets and have dynamic calculation of properties.
Now let me explain just how bad an idea this is. First of all, it's not in any spec. Assuming the syntax used by Microsoft doesn't break future levels of CSS, why overburden the CSS parser with a scripting language? If you want dynamic styles, why don't you do what is done by DHTML programmers the world over today, which expose the style properties to the DOM? Microsoft's on the DOM WG, why don't they use their inside information (no longer inside actually - the Working Draft has been released) on DOM Level 2 to expose CSS properties to scripting languages in the HTML?
The real problem with this approach is that it will inevitably lead to broken style sheets. If you have a margin width that is calculated by a function and your layout depends on it, then browsers that don't support this syntax will (hopefully) ignore this property and probably mess up your layout beyond recognition. We have enough controversy with the complicated cascading and inheritance rules in CSS (which Microsoft still hasn't gotten right in the first place!) do we need to make things even more complicated? Scripting should be as separated from the content and style as possible. A page should be able to exist independent of its dynamic behaviour, just as it should be able to exist independent of its style directives.
And of course we come to the subject every Web author loves to hate, frames. CSS2 gave us a wonderful, backward-compatible way of getting rid of frames for good through fixed positioning that is the first serious screen-partitioning proposal ever to appear. Did Microsoft care to implement it, perhaps? You can bet it didn't. I'm afraid we're stuck with multiple Net connections, hidden titles and stray framesets for version 5.0. Thankfully, IE5's persistence technology means that it can now bookmark frame states, but you still can't link to them from HTML, which is infinitely more important.
In short, the designers at Microsoft picked the single part of CSS2
that made the least difference and implemented it, while ignoring or
breaking the rest of the specification. So, thumbs down on CSS2. Let's
Produced by Stephanos Piperoglou and
Created: April 7, 1999
Revised: Apr 30, 1999