- From: Yves Lafon <ylafon@w3.org>
- Date: Tue, 23 Feb 2010 08:32:54 -0500 (EST)
- To: Brad Kemper <brad.kemper@gmail.com>
- cc: fantasai <fantasai.lists@inkedblade.net>, Bert Bos <bert@w3.org>, www-style@w3.org
On Tue, 23 Feb 2010, Brad Kemper wrote:
>
> On Feb 23, 2010, at 6:45 PM, Yves Lafon wrote:
>
>>> - Change the token '/' to the keyword 'as'
>>> - Replace
>>> # where ?<bg-position>? must occur before ?/ <bg-size>? if both are present.
>>> with
>>> | where '<bg-position>' must not occur immediately after 'as <bg-size>'
>>>
>>> Would this address your concerns?
>>
>> Replacing '/' by 'as' will indeed help. The second rule was more an example that there were "more restrictive than necessary" rules and just adding one to forbid '/' being first was not out of the line. But the new wording, "must not occur immediately" will make it easier to check anyway, so OK for both.
>
> This does not seem to me like the right thing to do. The
> arbitrary-seeming rule to disallow a slash+background-size at the
> beginning seems to me to be "more restrictive than necessary". The slash
> has been established elsewhere (such as in border-image) as a
> disambiguating divider, and that seems very clear to me; much more so
> than "as" as a disambiguating prefix word. When one thinks of 1-2
> lengths or percentages as meaning 'background-size' when found anywhere
> after a slash, and as meaning 'background-position' otherwise, then it
> is very clear, and no further restrictions are needed. I think all the
> following should be equally valid, as all seem equally clear:
The issue comes from the fact that bg-size and bg-position have the same
syntax, so one way of fixing this could be to englobe size in a function,
like background: size(10% 90%), but it doesn't fly well with
background-size: size(10% 90%).
But why choosing '/' which is a CSS2 operator ? Choosing 'as' is a far
better choice than '/' for this reason (but it could be anything that
would be parsed as something else than an operator.
> background: url(img.png);
> background: 10% 90%; /* bg-position */
> background: / 10% 90%; /* bg-size */
> background: 10% 90% / 10% 90%; /* bg-position, then bg-size */
>
> I think it would be confusing for authors to have to remember that for
> some reason they could not have just a bg-size as the singleton value
> for their shorthand just because it still required a slash to its left.
> And I really do not think it is improved by having "as" instead of "/"
> as the required text to its left. Of the following four choices, I much
> prefer the first:
I think that 'size' is far more readable for authors than '/'. Another
solution is to forbid size in the background shorthand property.
> background: / 10% 90%;
> background: as 10% 90%;
> background: size 10% 90%;
> background: some-other-text 10% 90%;
>
> As for this:
>
>> background: url("foo.png") / 10em black 10em
>
> ...it just doesn't make any sense to me. The first 10em must be bg-size,
> because it is after the slash, but then there is a second 10em
> (separate, due to the 'black') after the slash too? How can that be
> interpreted as anything other than a mistake, when slashes are used to
> separate and group the values of the shorthand, same as in border-image?
slash is used to identify bg-size, but you are right, slash is an operator
used to separate and group values, which is not what it does when it
appears first (same with comma).
--
Baroula que barouleras, au tiéu toujou t'entourneras.
~~Yves
Received on Tuesday, 23 February 2010 13:32:56 UTC