- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Fri, 14 Aug 2015 16:23:42 -0400
- To: www-style@w3.org
On 08/02/2015 10:27 PM, Greg Whitworth wrote: >> Actually, background-position-x/-y have already been decided to be >> standardized [1] (see "Add -x/-y longhands to background-* properties" >> section). >> >> But looks like there is unfortunately no progress since then. >> >> [1] https://lists.w3.org/Archives/Public/www-style/2014Apr/0188.html > > I thought we had talked about it at some point, they all seem to blur > together anymore. So let's just consider this a slight nudge then to > the editors :) Dropped in a (very) rough draft into backgrounds-4: https://drafts.csswg.org/css-backgrounds-4/#the-background-position The tricky part about this (and therefore the reason we didn't have it earlier) is the interaction with logical positions. Tab had a proposal for handling this. What's I drafted up is mostly the same, but I changed some of the keywords to make it a little easier to follow the expansions. The <position> syntax now works like this: A) Physical Directions Only Same syntax as Level 3, roughly <x-keyword> <offset>? <y-keyword> <offset>? where <x-keyword> is [ left | right | center ] and <y-keyword> is [ top | bottom | center ] and <offset> is [ <length> | <percentage> ] Assigns into background-position-x and background-position-y. B) Flow-relative Directions Only <logical-keyword> <offset>? <logical-keyword> <offset>? where <logical-keyword> is [ start | center | end ] Assigns into background-position-inline and background-position-block. C) Logical/Physical Mix Expands <x-keyword> and <y-keyword> with axis-constrained logical variants: <x-keyword> <offset>? <y-keyword> <offset>? where <x-keyword> is [ left | right | center | x-start | x-end ] and <y-keyword> is [ top | bottom | center | y-start | y-end ] Assigns into background-position-x and background-position-y. Examples: background-position: top left; /* top left corner */ background-position: start start; /* block-start inline-start corner */ background-position: x-start top; /* top left in English, top right in Hebrew, top right in Japanese */ Tab's original proposal used unprefixed 'start' and 'end' for C (mixed) and 'block-'/'inline-' prefixed keywords for B (pure logical). This made assignments in the mixed case a bit hard to follow, and purely logical positions very verbose. Using x-start/y-start variants makes it easier to follow what's getting assigned into what, and the 'start start' syntax follows the way we're handling border-radius longhands. That said I'm not averse to expanding out case B with prefixes as Tab originally suggested, at least in the shorthand. It will be more explicit; but it's also more verbose and the keywords won't quite match their form in the longhand. (I'd prefer to avoid redundancies like 'background-position-block: block-start'.) ~fantasai
Received on Friday, 14 August 2015 20:24:36 UTC