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

Re: [css-background] Order of properties in background shorthand

From: Sebastian Zartner <sebastianzartner@gmx.de>
Date: Fri, 01 Jun 2012 08:33:24 +0200
Cc: brianman@microsoft.com, www-style@w3.org
Message-ID: <20120601063324.232820@gmx.net>
To: "Tab Atkins Jr." <jackalmage@gmail.com>, joethomas@motorola.com
> > I will try to explain the IE6 issue with an example.
> >
> > Assuming that we have a CSS3 UA and it generates the background
> > shorthand property in getComputedStyle in the following order
> > red border-box url(dummy://test.png) 50% 50% / cover.
> >
> > And assuming that the server feeds this generated result from CSS3
> > Browser to a CSS2.1 compatible browser like IE6. IE6 fails to parse 
> > even those properties which it supports in background shorthand.
> > In the above case, IE6 parses only background-color correctly as it
> > comes before newly introduced properties. IE6 stops parsing whenever 
> > it encounters an unsupported property-value like border-box in the 
> > above case.
> >
> > At the same time, if we restrict the order of background shorthand
> > properties generated by a CSS3 UA in such a way that CSS2.1 properties
> > comes before the newly introduced properties in CSS3, then IE6 parses 
> > all the CSS2.1 properties correctly and discards the new properties 
> > which are at the end.
> >
> > So if we change the above order to "red url(dummy://test.png) 50% 50% 
> > / cover border-box", IE6 parses bg-color, bg-image and bg-position
> > correctly and discards the rest. So with this new order, IE6 can 
> > parse atleast all the properties it supports.
> >
> > Please let me know whether that make sense.
> 
> So you're saying that you're serializing property values in one
> browser, sending them to the server, and later using them to style
> other pages in another browser?
> 
> That seems pretty odd, if so.  Can you clarify?
> 
> If IE6 actually does treat that declaration as valid, and just ignores
> everything from the first thing it doesn't recognize, that's *really*
> incorrect behavior.  No compliant browser does that - the specs very
> clearly state that you should throw away the whole declaration,
> *precisely* because of this kind of bad behavior.
> 
> Anyway, the correct solution, if you are indeed doing the weird thing
> there, is to parse it yourself and serve only the parts that IE6
> actually understands.

FWIW, there's also a Mozilla issue about this:

https://bugzilla.mozilla.org/show_bug.cgi?id=743392

This was requested because somebody was asking for the "right" order to be displayed in Firebug:

http://code.google.com/p/fbug/issues/detail?id=4180

So what I get out of this discussion is that the order, in which a browser returns the properties of a shorthand property via getComputedStyle(), is not dictated. Is that correct?
If so, why isn't the spec at least putting the order of the pre-CSS3 properties back as it was to avoid confusion?

Sebastian
-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
Received on Friday, 1 June 2012 06:34:04 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:55 GMT