I somethimes wish that CSS was designed to work as a layout system, and not just a Cascading Style Sheet. Yes, you can do layout in css .... kind of. It works, sometimes, if you know the right special case to apply and wrap it in enough container divs. But there is hope. Css is going to get better in this respect with the CSS3 suite of proposals. By the way, there is no single CSS 3 specification, it's a raft of modules, all progressing individually.
Take, for example, my favourite upcoming feature - the grid layout in Internet Explorer 10, proposed by Microsoft and currently going through the standards process. This layout model worked really well in WPF and silverlight – it's concise and sane and it makes it easy to make a wide range of column-and-row layouts that scale with the window size.
And it's coming to CSS. But when will it land, exactly? After W3 approves this spec (I'd guess some time in 2012), it will most likely make it into a major new revision of Chrome and of Firefox within six months after that, and the majority of users of those browsers will have it within a year of approval. This rapid uptake is due to frequent updates and how those browsers automatically update users to the latest version.
So IE7 is the new IE6 now, and IE8 will be it in a few years. Some version of IE is going to be the boat-anchor browser for the foreseeable future. In a year or three from now, we'll still be supporting IE8 and 9, and layouts that don't work in these browsers will be a non-starter, even the cool new layouts that Microsoft has championed. Microsoft giveth, and Microsoft holdeth back.
But Microsoft's people must know this, and I wonder if there’s a strategy in place to deal with it – IE10 will, I think, run on Windows 7 so IE9 on Windows 7 might just be aggressively updated to IE10. However the corporate machines running XP or Vista won't run IE10 and will be stuck with what they have.
Is there a plan to prevent this pattern from recurring with IE 10? How will IE10 that ships with Windows 8 deal with whatever new web standards come out after it ships? Given that the IE10 html engine + JS is a full-fledged Win8 Metro programming tool, is an IE10.1 at all posssbile without breaking things?
Incidentally, it will be interesting to see how the CSS grids standards effort plays out, since these are a necessarily feature for Win8 html apps. Either CSS grids become a final w3 standard before IE10 and Windows8 ship, or IE10 ships with a non-final version that could differ from what the W3 finalises.