Sunday, August 19th, 2007
We have all been frustrated with CSS over the years. The implementation has been spotty across the browsers, and it has all but died off. IE 7 stepped up and fixed a lot, even if some weren’t happy with how far they got. CSS 3 has been out there for quite some time, but apart from Opera, other browsers have selectively implemented their pet features. Some have done interesting non-standard work too:
Today, I was sitting at BarCampBlock in Palo Alto, participating in a session on CSS futures. I got to see the doppelganger effects of CSS in action:
How do new CSS features get into the browser? Do engineers throw in what seems cool to them? Is it based on input from some small part of the community? I have heard quite a few “yeah, this is just cool so I want to implement it for v.NEXT” comments.
People get in the weeds on tiny little features to implement. We see subtle tweaks, and little features that are nice to have but they miss the elephant in the room….
CSS is great for simple web style. CSS is awful for layout. Rich Ajax apps need layout. You spend the majority of your time trying to get CSS working correctly!
There are various people starting to fix the problem. Hell, you can even use ascii art for layout.
It isn’t like there aren’t good examples of how this can work. Just take a look at XUL, XAML, and Flex.
It is time to create a CSS module for layout that works. Take the best of those above, and make it happen. You only have to work with simple examples to see how hard it is to get things right with current CSS, let alone looking at the code behind something like Gmail, that has to rely on subtle bugs to even work.
It sounds like CSS 3 as The Big Unit is basically dead, and small modules are the way forward. We should see good support for CSS 3 selectors, media queries, and who knows what else. Hopefully that new layout manager!
What would you like to see?
Posted by Dion Almaer at 12:27 am