CSS has two faces, the awesome "You can make amazing things with ease" face and the "It won't do what I want unless I create some cludgy arrangement of elements in order to attach a combination of weird properties"
Those two faces are because of two simple facts.
1. CSS is a really good way to set properties.
2. The properties are shit.
The part of the properties that is most gloriously broken for layout is that the X and Y dimension behave differently. That's _really_ not what a lot of websites want.
I experimented a while back and came up with a model for placement like this
If you had properties like these you could center, proportionally center, left/right/top/bottom align and handle growing in the direction the user wants.
What CSS needs is a new generation with all new properties, a full modal change so that it doesn't have to be backwards compatible and interact with archaic properties.
I have had a look at it. It doesn't fill me with confidence. It looks like it will make some things possible that previously required wrapper elements, but it doesn't seem to be very easy to imagine scenarios.
It feels like it is a solution directed at specific problems, whereas I always felt that was much of the problem with CSS properties. They solved their target problem and if your problem was different to their one you might be out of luck. If the properties were defined to be more general I think a lot of those problems would never have appeared.
Those two faces are because of two simple facts.
1. CSS is a really good way to set properties.
2. The properties are shit.
The part of the properties that is most gloriously broken for layout is that the X and Y dimension behave differently. That's _really_ not what a lot of websites want.
I experimented a while back and came up with a model for placement like this
http://www.fingswotidun.com/gunk/boxtest.swf
If you had properties like these you could center, proportionally center, left/right/top/bottom align and handle growing in the direction the user wants.
What CSS needs is a new generation with all new properties, a full modal change so that it doesn't have to be backwards compatible and interact with archaic properties.