Re: aspect-ratio property

On 5/1/12 12:36, Matthew Wilcox wrote:
> I'm fresh to the discussion, but I'd suggest that a better solution
> than a new property would be to work with the existing ones.
>
> div { width : 100%; height : width/2; }
>
> This seems much more flexible and easier to understand?
>
calc() was introduced for a reason. Your example should at least be 
height: calc(width/2); which is much easier to parse and hardly hinders 
readability.
As for introducing a `width` keyword, I'd imagine that doesn’t scale 
very well: Which properties would become keywords? All? Just `width` and 
`height`? Why, are they "special"? I think if we’re going to do anything 
like that, we need a special notation for it. I’d propose current(), 
like a generalization of currentColor, accepting all properties. So, 
your example could be height: calc(current(width)/2);
Yes, there could be cycles like width: calc(2*current(width); but they 
can be detected and removed quite trivially.

However, I’ve discussed this with implementors a while back (it’s one of 
the highest items in my CSS wishlist) and it seems pretty much 
impossible, at least if layout properties are included, as per your 
suggestion. Even currentColor on its own is hard (I remember Simon 
Fraser writing "I hate currentColor :(" in one of my Webkit bug reports 
about it.

-- 
Lea Verou (http://lea.verou.me | @LeaVerou)

Received on Thursday, 5 January 2012 16:18:58 UTC