- From: Sylvain Galineau <sylvaing@microsoft.com>
- Date: Thu, 7 Apr 2011 18:46:19 +0000
- To: "www-style@w3.org" <www-style@w3.org>
- CC: Brian Manthos <brianman@microsoft.com>, Kevin Babbitt <kbabbitt@microsoft.com>
Say we layer three backgrounds: E { background-image: url('top.png'), url('middle.png'), url('bottom.png'); background-position: 0px 0px, 10px 10px, 40px 40px; transition: background-position; } ..then transition background-position like so: E:hover { background-position:10px 10px, 0px 0px; } In '3.1. Layering multiple background images' [1], css3-background tells us: # The background of a box can have multiple layers in CSS3. The number of layers is determined # by the number of comma-separated values in the 'background-image' property. Note that a value # of 'none' still creates a layer. # Each of the images is sized, positioned, and tiled according to the corresponding value in the # other background properties. The lists are matched up from the first value: excess values at # the end are not used. If a property doesn't have enough comma-separated values to match the # number of layers, the UA must calculate its used value by repeating the list of values until # there are enough. In '6. Animation of property types' [2], css3-transitions says: # length: interpolated as real numbers. # percentage: interpolated as real numbers. # [snip] # space-separated list of above: If the lists have the same number of items, each item in # the list is interpolated using the rules above. Otherwise, no interpolation (unless stated # otherwise above). So while css3-background defines the handling of a shorter/longerbackground-* lists, css3-transitions appears to require lists of matching lengths. It appears that WebKit will transition mistmatched lists but Gecko will not. At this point I lean towards the WebKit behavior as being the more author-friendly one e.g. normalize the list values then transition on the result i.e. treat the normalized lists as the computed value for the background-* properties. I suspect Gecko's implementation and the spec may be addressing potential issues here however. What are they ? [1] http://www.w3.org/TR/css3-background/#layering [2] http://dev.w3.org/csswg/css3-transitions/#animation-of-property-types-
Received on Thursday, 7 April 2011 18:46:48 UTC