W3C home > Mailing lists > Public > www-style@w3.org > February 2012

Re: [css3-background]

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Tue, 28 Feb 2012 07:57:10 -0800
Message-ID: <CAAWBYDAdVrwgyAjz66rOrsMj8RVtt0L2cxF3ZiHUDzdiojMdyw@mail.gmail.com>
To: Lev Solntsev <greli@mail.ru>
Cc: www-style@w3.org
On Tue, Feb 28, 2012 at 2:11 AM, Lev Solntsev <greli@mail.ru> wrote:
> Of course I can use gradient, Image() or whatever. But isn't it a hack and
> workaround while there is a more obvious way for authors, is it?
> Also I have concerns about performance issues in browsers and
> those concerns contradict to accessibility—what web was created for.
> http://www.w3.org/Style/CSS/ says that “Cascading Style Sheets (CSS)
> is a simple mechanism for adding style (e.g., fonts, colors, spacing)
> to Web documents.”
> Using any of these workarounds make things more complex than it could be.

Lea gave the main reason why it would be difficult to define - if you
have linked up property-lists, like in the background-* properties (or
the transition-*, or the animation-*, etc.), you typically link up the
corresponding entries in order to form a full set of properties.
background-color doesn't work like this - if you specify a single
background-color, you want it to match up with the *last* background
layer, not the first.  This is different from how property lists work
everywhere else in the language.  It's also unclear what would happen
if you specified multiple background-colors - would you start matching
them from the front instead, or continue matching them against the
end, so the first color is placed in the second-to-last background
layer, etc.?

We could have, several years ago when multiple background layers were
first introduced, made background-color consistent, but that would
mean that the vastly more common case (just wanting a single color at
the end) would require a long list like "background-color:
transparent, transparent, transparent, transparent, blue;".

So, this is an optimization problem.  The simplest solution of just
making background-color work just like the other properties (which we
can't do anymore anyway) would be very inconvenient in the vast
majority of cases.  A more complicated solution making
background-color "do the right thing" when you give a single color
would be inconsistent with the rest of the language, and thus hard to
learn.  Instead, we hacked around the issue and created ways of
producing solid-color images, which is a simple way to solve your
reasonably rare case.  It's not perfect, but it's the least bad of the
solutions (in our judgement).

Received on Tuesday, 28 February 2012 15:58:02 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:12 UTC