Re: [css3-background][css3-images] background-repeat: none and extend

On Dec 15, 2010, at 1:09 PM, Tab Atkins Jr. wrote:

> * Why would this be a background-repeat value when it has nothing to
> do with repetition?  Because, under one logical way to generalize
> background-repeat, the property is unfortunately misnamed.  One way of
> looking at background-repeat is that it specifies how to turn a finite
> image into an infinite layer, which is what the background properties
> actually act on.  'none' just means 'fill the plane with transparent
> black outside the image's stated dimensions', while the repeat
> keywords tile the image in one or both directions, filling in the rest
> of the plane with transparent black if necessary.  'extend', then,
> would mean 'paint the entire image, composited over an infinite
> transparent black plane'.  For normal images this is the same as
> 'none'.  For gradients, it changes things so that the entire plane is
> filled with the gradient's paint.  For element(), it changes things so
> that decorations and descendants outside the margin box are still
> painted.

I'm thinking that a better property name would have been background-fill:

background-fill: [tile | tile-x | tile-y | extend | none]

but it's probably too late to add that now.

One question is whether you'd ever want to both tile an image with
infinite extent, and well as have 'extend' behavior. I could imagine
wanting to tile radial gradients, yet have them all extend to get a
a certain "wall of cones" type effect.

Simon

Received on Wednesday, 15 December 2010 21:46:32 UTC