molly.com
Thursday 15 March 2007
Baseline Implementations of CSS
Let’s put on our fantasy hats for a moment and imagine that all browser vendors agreed to implement a common baseline for CSS 2.1 in their next dot zero release. Which features of the CSS specs up to CSS 2.1 would you absolutely want for that baseline?
Filed under: standards, software, web design and development, w3c, browsers
Posted by: Molly | 5:43 pm |

March 15th, 2007 at 10:58 am
Interoperability on the already supported features.
March 15th, 2007 at 11:12 am
Anne, do you mean that each supported feature is implemented consistently? If so, I strongly agree.
March 15th, 2007 at 11:23 am
We already have a much better baseline than we did a year or so ago, so I’m going to be greedy and ask for generated content.
March 15th, 2007 at 11:38 am
Multiple background images for one element. Oh wait, I think that’s CSS3. How about being able to specify input elements by type (eg input[”text”] - I think IE does not do this).
March 15th, 2007 at 11:40 am
I think… generated content, display:table-cell and multiple backgrounds though it’s from CSS3
March 15th, 2007 at 11:41 am
…IE7 already know about input[”text”]
March 15th, 2007 at 11:49 am
All the fun stuff -stuff that will really make the way I go about building pages like opacity, rgba units, multiple bg images - I’m really waiting for is in 3.0 [or in a few cases, were pulled between 2.0 and 2.1], but glancing at the 2.1 TOC again here’s my wish list: for baseline performance
- full gamut of selectors [though we’re doing pretty good on that front]
- generated content [incl. counters]
- all values of display property working — particularly run-in and table related options
- the end to all things ‘hasLayout’, old and NEW
Guess that last one isn’t in the spec, but its an awful non-spec concept that just continues to bite you in the ass.
March 15th, 2007 at 12:02 pm
I’d like to see the box model consistently applied and for MSIE to recognize CSS for nested ULs utilized in dropdown menus so no Javascript is needed.
March 15th, 2007 at 12:07 pm
All of them, dammit.
(All of them in CSS2.1, that is.)
March 15th, 2007 at 12:14 pm
Dang, Anne took my answer!
March 15th, 2007 at 12:18 pm
display:table et al. to get rid of the last argument the table junkies have against CSS layouts.
March 15th, 2007 at 12:34 pm
Another vote for generated content. Also, pseudo-element selectors, attribute selectors, and more pseudo-class selectors.
March 15th, 2007 at 12:40 pm
This is possibly controversial but I would say that, would make my life and I’m sure other developers would be to set a Browsers current implementation as the baseline, and lets make it easy, well easier, set it as Firefox 2(.o.2) since although I prefer Firefox, Opera has mainly set the bar higher, in most respects.
Then have all of the default styles the same act the same without tricks (http://tantek.com/log/2004/09.html#d06t2354), next would be to make sure the bugs are gone or at least documented by the browser developers, don’t worry to much about hacks or whatever I’m sure we can work around them somehow if we know they are going to happen and when.
Finally since this will not be implemented without a look towards backwards compliance give us a ‘conditional comment’ type statement to activate this ‘mode’ - baseline.1 perhaps (as the best thing Microsoft ever came up without an alleged or otherwise copy, was conditional comments IMO)
March 15th, 2007 at 12:45 pm
pepelsbey: I stand corrected. So IE7 supports attribute selectors, but IE6 didn’t. That was an issue for me a couple times.
I think Eric put it best: all of them. And quickly!
March 15th, 2007 at 12:47 pm
Oops ps (to an already long post) also that I agree with Anne / Molly in that whatever is implemented *needs* to be consistent even to the point that I would prefer it to be *wrong* but consistent but right in one browser but different in all of the others.
)
It’s like writing “color” in Css I’m British so it should be “colour” but it’s all good I learn the way it has to be spelt and live with it (although obv. moan every now and then
March 15th, 2007 at 12:58 pm
The display property. The other cool stuff (like text-shadow) has either been dropped due to lack of implementations or is in CSS3 (like multiple backgrounds).
March 15th, 2007 at 1:13 pm
display:table stuff and generated content (inlcuding CSS quotes), are way too useful to ignore. Of course, to support CSS 2.1 quotes fully, a browser first needs to support the q element. Eh hem.
March 15th, 2007 at 1:18 pm
My wish would be that I could make the fantasy-hat superfluous, and that posts like this never had to see the daylight.
March 15th, 2007 at 1:45 pm
Full pseudo-class support!
(http://www.w3.org/TR/REC-CSS2/selector.html#q15)
Oh, and Pattern matching too.
(http://www.w3.org/TR/CSS21/selector.html#q1)
March 15th, 2007 at 1:51 pm
I want the CSS 2.1 spec supported on all browsers across the board. Same rendering on all of them. Dear God if I could work without multiple stylesheets…
How is it not in their best interest to support this? Make it an MCC for CSS.
(http://en.wikipedia.org/wiki/Microelectronics_and_Computer_Technology_Corporation)
March 15th, 2007 at 1:54 pm
I would like to see consistency in specificity. I’ve run into issues with Safari, Firefox and IE all processing selectors in a different way.
For those of us that leverage the cascade in our designs, this can be a real pain.
I’d also like to see browsers notify users when they view table-based sites. Whenever a bad table-based site comes up, a little window says “WARNING: The owner of this site is lazy and/or living in 1999. Would you like to send the webmaster an obnoxious e-mail?”
March 15th, 2007 at 4:17 pm
CSS Tables. CSS Tables. CSS Tables.
March 15th, 2007 at 5:50 pm
Everything that is set within the 2.1 spec.
Additionally, if a browser developer is going to implement proprietary properties, e.g. IE7s zoom property and its associated interpolation mode, that such properties be thoroughly tested before implementation, that the developer be receptive to and have methods available for reporting bugs and that sufficient resources be made available for temporary workarounds when these proprietary properties fail.
Thank you.
March 15th, 2007 at 6:20 pm
I haven’t read up on the specs enough to know whether CSS 2.1 includes a solution to this, but…
- A real layout engine.
Floats were never meant for multi-column layout, and layout is the one thing about CSS that always feels like a cheesy hack to me.
March 15th, 2007 at 7:21 pm
I don’t think it’s too much to ask to have the entire CSS 2.1 and HTML 4.01 specs supported accurately. At the very minimum the screen-based properties should be completely supported (paged and aural media would be nice as well, but are not critical to have in a “baseline”).
I think it’s ridiculous that “good” browsers like Firefox, Opera, and Safari are implementing parts of the non-final CSS 3 spec when they don’t even have complete HTML 4.01 support.
March 15th, 2007 at 7:28 pm
its funny how thinking of utopia suddenly makes you go from happy thoughts back to sad ones… but…
my wish is for whatever they do to be done consistently in all browsers!!! At least a baseline that was consistently flawed could be addressed.
in the meantime I know I wish the 9 year old up the street would drop FrontPage and be able to provide consistent cross browser css layouts in a jiffy - but then I’d be broke!! So in the end I probably won’t have a happy answer whatever they do.
Its great to hear you’re back… yup too poor for texas myself.
March 15th, 2007 at 8:18 pm
- All selectors (yep, every last one)
- Generated content
- Min/Max width
- All display properties
Failing that, I’d settle for everyone matching Opera
*ducks and runs*
March 15th, 2007 at 8:39 pm
Oh goodness, such a list I could write…
* ditto on the consistent implementation concept (including browser defaults)
* a direct/proper way to perform vertical centering would be nice
* more typographic control - if I had to pick one item from under that umbrella, it would be finer kerning/letterspacing
* consistent styling of form fields (mostly Safari’s problem, hopefully fixed soon… ties into the “default styles” issue)
I can come up with more, it’s just late and I’m still in my post-SXSW coma, and couldn’t rest today. I promise a song or two will be coming your way shortly as well
March 16th, 2007 at 12:05 am
The :before and :after pseudo-elements, display:table, rounded borders.
March 16th, 2007 at 1:01 am
Consistency, consistency, consistency. Make IE7 fully compliant with CSS2.1. It’s still ways and leaps behind Opera and Firefox and still needs to play catch-up to … catch up. I still have to employ IE-only hacks, even for Internet Explorer 7. And now it’s even harder than before, since they support most selectors, but a lot of the properties and values (especially certain combinations of them) are really badly implemented.
March 16th, 2007 at 2:18 am
What to add, everything has been said… Consistency, and full support of CSS2.1 and HTML 4.01 in all browsers. I still find it hard to believe that this is so hard to achieve, why is it too much to ask that all browsers stick to what are well established standards ?
March 16th, 2007 at 2:36 am
Attribute selectors, and :hover on all elements have to be the bare minimum.
If we’re going to go nuts, then lets throw min-max widths in there and kill all float bugs too!
March 16th, 2007 at 5:24 am
Min- and max-width would be great, and multiple backgrounds… I know they’re from 3.0 but that would be sooooo useful
March 16th, 2007 at 6:29 am
I see absolutely no reason why we can’t shoot for the entire specification. In fact, I was surprised that we hadn’t got to that stage by the time IE7 was released. I’d also like to see agreement of specification interpretation between manufacturers.
In fantasy land, I would prefer NOT to see proprietary CSS extensions of any kind. I would rather see such things incorporated into future CSS specifications for later implementation, instead of one browser going it alone.
Finally, I’d like to see browser manufacturers apologize for making life so difficult for us all the time. Especially Microsoft for taking so long to give us “position:fixed”.
March 16th, 2007 at 7:47 am
I agree with Nick Harris. :hover for all elements, min and max widths, and the death of float bugs.
I’d also throw in standardization of ul and li elements and form elements… seems like each browser handles these with various different combinations of margin and padding.
March 16th, 2007 at 8:34 am
If you’d said CSS2.0 then I would have given you the bits I thought worthwhile, but with CSS2.1 (like several commenters above) I really don’t see why the entire spec shouldn’t be the goal. Yes, IE’s lagging behind, but this is Microsoft, not a bedroom coder! They’ve done bigger things before, and I’m sure they’ll do them again.
Besides, how much incentive would that give other browsers manufacturers if they knew they were being beaten in the standards race by IE
March 16th, 2007 at 11:19 am
[…] Quite a number of comments from yesterday’s baseline CSS question brought up support for the :before and :after pseudo elements and generated content in browsers, particularly IE. […]
March 16th, 2007 at 12:19 pm
Like Eric said
All of it dammit!!!!
March 17th, 2007 at 12:54 pm
Having all the browsers pass ACID 2.
March 17th, 2007 at 4:49 pm
Each and every one of the 2.1, but if not, then just
- selectors (would help all designers greatly)
- pseudo-elements and pseudo-classes
- aural style sheets -> http://www.w3.org/TR/CSS21/aural.html
and last but not least: full support of the display attribute
March 18th, 2007 at 12:21 am
Pseudo-elements and classes, esp :before, :after and :lang.
March 19th, 2007 at 3:25 pm
display: inline-blockis at the top of my list. Let’s let the overworked, underpaid and rather abusedfloattake a breather and use something that was intended for the role we’re forcingfloatto play.After that, multiple background images, border images, corner-radii… basically the full sweet of possible element decoration. Honestly, this “Here’s another bad way to make rounded corners” thing should be a thing of the past, but it won’t until we get backgrounds and borders as expressive as they should be.
March 19th, 2007 at 3:32 pm
[…] Es la pregunta que Molly E. Holzschlag hace en su blog y que cualquiera puede responder a través de los comentarios (el blog está en inglés pero sé de buena tinta que Molly entiende el español bastante bien). […]
March 19th, 2007 at 7:50 pm
Just support CSS 2.1, just that, please.
March 20th, 2007 at 10:23 am
CSS 2.1 already a baseline itself.
All browsers should support it fully and consistently with no exception for IE.
March 21st, 2007 at 2:13 pm
The cool stuff has either been dropped due to lack of implementations or is in CSS3. And other display property will help you.
March 23rd, 2007 at 6:12 am
Another vote for display:table. That would make a massive increase in the kinds of layouts that could be used in real world applications.
If IE were to abandon its HasLayout behaviour completely, it would have to implement generated content, or, as the spec stands, there wouldn’t be a way to auto-enclose floats in IE.
I’m hoping, Molly, that this isn’t just pie-in-the-sky, but will actually be fed to the IE dev team…?
October 4th, 2007 at 4:34 am
Thanks for the info. Very Good article. I entirely agree with you. Read, intresting
March 7th, 2008 at 1:15 pm
thanks for all
March 30th, 2008 at 11:07 pm
thanks
April 22nd, 2008 at 8:00 pm
Nice job.
April 22nd, 2008 at 8:01 pm
Thanks,very nice blog.