Re: [css-values] Deprecating the 3-value <position> form

On Oct 9, 2013, at 2:35 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:

> The 3-value position form (which allows things like "left 20px 50px"
> as an equivalent to "left 20px top 50px") is barely used, but
> extremely confusing, and makes it very difficult to use <position>
> alongside anything else - it's too often grammatically ambiguous.
> 
> There seems to be at least moderate agreement that this form is a
> mistake (at least, between me, fantasai, Alan, and Dirk).  Would
> anyone mind if we deprecated it, making it a quirk of
> background-position, and just define <position> to only have the 1/2/4
> value clauses?
> 
> This would mean that radial-gradient() and object-position, the only
> other current consumers of <position>, would be affected.  I think
> this is acceptable.
> 
> Doing this would allow <position> to be mixed with other values more
> easily, as something like "<position> <length>" is no longer
> ambiguous.  It would also let us define a <3d-position> sanely
> (compatible with 'transform-origin').
> 
> (Well, unfortunately, transform-origin currently allows 1/2/3/4/5
> value clauses, where 3/5 are 3d.  Sane would be 1/2/3/4/6, with 3/6
> being 3d - 3 is just 3 lengths, 6 is 3 keyword+length pairs.  The
> 5-value form suffers from ambiguity again.)

I would go one step further and say that 4 arguments are not the way to go in the future (but can not be undone in backgrounds and borders and therefore CSS Masking). W have calc() for things like that and I think we should not encourage the usage of <position> in any other spec than these two.

We actually were in an agreement about that already [1]. Sadly the minutes did not cover the whole conversation.

Greetings,
Dirk

[1] http://lists.w3.org/Archives/Public/www-style/2012Mar/0195.html

> 
> ~TJ
> 

Received on Wednesday, 9 October 2013 04:38:57 UTC