- From: Brian Manthos <brianman@microsoft.com>
- Date: Tue, 20 Sep 2011 23:52:09 +0000
- To: Tab Atkins Jr. <jackalmage@gmail.com>
- CC: "www-style@w3.org" <www-style@w3.org>
Ah, you're close. You almost understand my point... hopefully I can close the deal this round. You are correct that the cover example should render differently for that example *because* the PNG file doesn't have additional art from which to paint the "extend"ed surface. Even so, they should render similarly -- and extend should allow for spreading the edge pixels of raster art. Maybe another example and ASCII art will help... Example 3: div { background-color: yellow; width: 500px; height: 500px; background-size: 3px 3px; background-repeat: extend; } div:nth-child(1) { background-image: radial-gradient(cover, red, blue); } div:nth-child(2) { background-image: url(radial-gradient-cover-red-blue.png); } div:nth-child(3) { width: 3px; height: 3px; } The PNG art should looks something like... BPB B=Blue PRP P=Purple BPB R=Red And the 3rd DIV should look the same. My understanding of your proposal is that the middle row of pixels in the 1st DIV should be {blue, purple, red, purple, blue}. I'm arguing that the middle row of pixels in the 2nd DIV should be {purple, red, purple}, not {yellow, purple, red, purple, yellow}. -----Original Message----- From: Tab Atkins Jr. [mailto:jackalmage@gmail.com] Sent: Tuesday, September 20, 2011 3:56 PM To: Brian Manthos Cc: www-style@w3.org Subject: Re: [cssN backgrounds] background-repeat: extend; On Tue, Sep 20, 2011 at 3:33 PM, Brian Manthos <brianman@microsoft.com> wrote: > From: Tab Atkins Jr. [mailto:jackalmage@gmail.com] >> On Tue, Sep 20, 2011 at 2:04 PM, Brian Manthos <brianman@microsoft.com> wrote: >>> Ok, let me give you a simpler example. >>> >>> Why should these render differently? >>> >>> div { >>> width: 500px; >>> height: 500px; >>> background-size: 50px 50px; >>> background-repeat: extend; >>> } >>> div:nth-child(1) { >>> background-image: radial-gradient(cover, red, blue); >>> } >>> div:nth-child(2) { >>> background-image: url(radial-gradient-cover-red-blue.png); >>> } >>> >>> For browsers and platforms that support "background-repeat: extend;" (someday) but can't or won't support radial-gradient, this would be a very useful consistency to have in CSS. >> >> I'll assume you meant 'contain' on the radial-gradient(), because >> otherwise the answer is trivial. >> >> There's no particular reason for them to render differently, but >> neither is there any particular reason for them to render the same. >> I'm ambivalent on the matter. > > No, I meant cover. Contain is a much simpler case that can be simulated with a solid background-color outside the image rect. Oh, well then that's a very simple answer. The browser has no idea that the jpg is of a radial gradient, and can't possibly extrapolate in the same way that it can with the radial-gradient() function. ~TJ
Received on Tuesday, 20 September 2011 23:52:39 UTC