Thursday, June 7th, 2007

“The CSS working group is irrelevant”

Category: CSS, Editorial

Ian Hickson has written up a strong opinion titled The CSS working group is irrelevant.

Ian details his frustration with the progression of CSS, and how in some ways it mirrors the HTML issues.

HTML 5 was driven by real world usage, and the next CSS should be similar. How much time do you spend writing your Ajax applications, where you are tweaking CSS for browser issues. I know it is a bane in my world. Layouts are very painful indeed.

It is hard to really learn CSS right. It is too tempting to tweak a padding here…. add a _margin: there, until it looks good enough. This is a really Bad Thing ™ as it means that you aren’t working out the core issue, so you can’t learn about it. We need help.

The CSS specs show their age; they come from a time where specifications were much vaguer than those of the modern day. Someone really needs to do to CSS what the WHATWG has been doing to HTML, defining everything in detail, explicitly, with strict and clear normative conformance criteria, taking implementations into account, defining things like quirks mode. (The WHATWG community refers to such a hypothetical project as “CSS 5”, as a reference to the way the current WHATWG specs define HTML5, XHTML5, and DOM5 HTML.)

Of course, we have had CSS 3 for ages, and hardly anyone implements it. How do we get the browser vendors to pony up to support these things?

Posted by Dion Almaer at 9:01 am

4 rating from 32 votes


Comments feed TrackBack URI

At least we don’t have css 4 draft :)

Comment by Edgars — June 7, 2007

This is REALLY true, accurately reflecting the truth. I hope CSS3 gets major browser’s adoption as well.

Comment by tmjee — June 7, 2007

yes. we urgently need native support for rounded corners!

Comment by britneyfreek — June 7, 2007

only rounded corners ??…

we need a standard and powerful CSS…so we don’t need to be “tweaking CSS for browser issues“..

i’m tired of having to do several stylesheets for differents browsers with hacks and fixes for some of them….it’s really annoying and a complete waste of time…

Comment by HarZens — June 7, 2007

We need things like variables so you can:

$red = #f00;

color: $red;

We need calculated widths/heights so you can:

#col2 {
height: #col1[‘height’]

We need to be allowed to use math so you can:

#col2 {
height: 25%(#col1[‘height’]) – 5 px;

We need vertical align.

All these things, IMHO, are much more important than the CSS 3 selectors, drop shadows, etc…

Comment by jamie — June 7, 2007

Even better than worrying about CSS3 – how about a consistent CSS implementation across browsers? We’re constantly looking on the horizon for the future set of browsers that comply with all standards – why not ask for them to implement what we currently have?

Who cares about CSS3/4/5 when there’s no compliance with CSS1/2 ? I’m not sure if there will ever be an end to the ‘tweaking’ we have to do to make layouts and such work correctly.

Comment by Jon — June 7, 2007

Even with a perfect spec, we would still have the same issues. I remember an email exchange with Microsoft where someone was pointing out that they were not complying to the HTTP spec. The response was that they consider the HTTP spec to be just a guideline. If they won’t do it for HTTP, why would they for CSS?

Comment by SteveB — June 7, 2007

@HarZens: it has just been a piece of what we need. i’m totally clear about the situation (css hacks, need for variables and so on).

@SteveB: I’m of the opinion that no one deserves respect who ignores standards. And when Microsoft needs years to get a new version of IE out without having standards implemented correctly (even css2) they do not deserve my attention.
I only make adjustments if the client explicitly wants me to – i’m sick of that crap.

Comment by britneyfreek — June 7, 2007

I think the current CSS specs are followed pretty well in all major browsers now (FF, ie7, Safari/Konq, Opera) — and Dean Edwards’ IE7 takes care of ie6. The big problem is the amounts of lame hacks you need to do just to do what should be simple designs — matching column heights, vertical alignment, and yes rounded corners. You need to add extra divs, use JS, use weird border hacks, etc. This is a problem with CSS itself, not with implementations. These problems were immediately apparent to web developers once we transitioned from tables to CSS back in the year 2000 or so — the design of CSS, while really amazing, lacked a few things that we really need. But the people working on tweaking the spec got bogged down. I think a WHAT-style working group would be a very healthy thing for the big browsers (and other interested parties) to set up. What is needed is pretty obvious, we just need to standardize it and then implement it.

Comment by jamie — June 7, 2007

I love CSS and I hate CSS. In a sense, it has made most of the hard stuff easier, but it has made some of the easy stuff harder and some stuff, stuff we really need, hasn’t been touched.

Without going into too much of a rant, let me just mention something that hasn’t improved a wit in the last 5 years – Printing. You can’t control where the page breaks, and 90% of my print outs split a printed line so the top half of the characters are on one page, the others on the following. When will printing reports or nice looking pages become a priority?

For any project where printing matters, we resort to creating PDFs or Word docs.

In addition to printing, I wish we had a grid layout for laying out page elements, similar to the ones used by GUI app programmers. When VB6 mostly went away, also went away the last of the majorly used GUI toolkits that forced you to use absolutely positioned widgets. Not counting the web that is.

Oh wait, we do have a grid layout… its called a table. Why is it that we don’t use those for layout? Right, semantics. Well, maybe we need a more sophisticated layout option for css then.

Lastly, CSS is ugly to maintain. The cascading part makes it especially difficult. I thought there’d be more tools to help organize and maintain CSS, but as it is, I hate going back to make changes to my code 6 – 8 months later. Thankfully we now have firebug. Still, CSS doesn’t seem to have been designed for maintainability.

OK, I’m done now. sorry for all that, I feel better though. Thanks for the topic, I’ve been rolling this stuff around in my head for a week now.

Comment by Matthew Nuzum — June 7, 2007

@jamie: The features you pointed out are sorely needed, but I wouldn’t go so far as to say they are more important than CSS 3 selectors.
A couple of quick examples..
tr:nth-child(odd) { background: #F1F1F1; } // zebra striped tables
a[href^=”http://”] { color: #D63600; } // all external links
div:empty { display: none; } // hide all divs which have no children

and so on. The new selectors would enable us to do away with alot of classes/id’s and also take some of the work away from Javascript etc

Comment by Aaron Bassett — June 8, 2007

That’s all nice, but keep in mind when CSS becomes easy to learn and “do properly”, half of you will have to fight more for a job, since others now “helpless” will become “experts”…;-)

Comment by obrouk — June 8, 2007

I think a lot of support missing for certain CSS properties like ‘inline-block’ and various css3 featues is that they’re too hard to implement. Take mozilla rounded corners for example – they’re kind of crappy

Comment by Justin Lumb — June 8, 2007

: By controlling where the page breaks in printing do you mean something like: #myId { page-break-after: always; } ??

Comment by Aaron Bassett — June 8, 2007

@obrouk :
that may be true, but there will be an important factor in the works, code quality and how effective and efficient is..
we, all the coders, have to fight with the “tutorialKids”, who underprice their works (bad bad bad quality) and we, the people who makes GOOD quality coding/programming and charge the REAL price, can’t get many jobs..

but as i said to a couple of friends…

i don’t care the money, at least, is not my first motivation for my works. i care more about the quality of the work and how important it is…
i prefer one big, good and well paid job, that 20 little “projects” for a penny… :)

@Aaron Bassett :
what you are saying is completely true…it would help A LOT and would give more flexibility while coding ;)

Comment by HarZens — June 9, 2007

What we need is for ie 6, ie 7, firefox, and any other ‘old’ browser without support for css3 to be patched with updated support. I know, not very likely, but it’s still needed. Period.

Comment by scott — June 25, 2007

Leave a comment

You must be logged in to post a comment.