- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Sat, 15 Aug 2009 16:28:43 -0500
- To: Andrew Fedoniouk <news@terrainformatica.com>
- Cc: "www-style@w3.org" <www-style@w3.org>
On Sat, Aug 15, 2009 at 3:28 PM, Andrew Fedoniouk<news@terrainformatica.com> wrote: > Tab Atkins Jr. wrote: >> >> On Sat, Aug 15, 2009 at 2:33 PM, Andrew >> Fedoniouk<news@terrainformatica.com> wrote: >>> >>> Consider following style and markup: >>> >>> div >>> { >>> width:100px; height:100px; >>> border-width:4px; >>> border-color:red; >>> border-radius:50%; /* that means border is a >>> perfect circle */ >>> border-style:solid; >>> } >>> >>> <div>Some text</div> >>> >>> Shall border be drawn on top of the text or behind it? >>> That is the question. >>> >>> If border is a part of background as current spec implies >>> then text should be drawn on top of the border. >> >> Borders are drawn above the background, but under the text. >> >>> But what about border-image? >>> If it is drawn behind the content layer then >>> this border-image makes almost no practical sense. >> >> Border-image is drawn on the same layer as borders. Borders are >> hidden while a border-image is in effect. >> >> Could you elaborate on why the border-image being drawn below text is >> a problem? Is this also a problem for normal borders? > > Imagine that text in the third column here: > http://www.bradclicks.com/cssplay/border-image/Alladins_Lamp_2.png > will contain couple of more lines. For now they will be drawn on top > of the lamp that is unexpected. That's what padding is for. >>> Why not to use that multi-background feature and >>> to drop this border-image completely then? >> >> One of the original reasons multiple-backgrounds were used *was* to do >> essentially the same thing as border-image is currently doing. It's >> rather nasty when you actually start writing the code, though. The >> actual property can get *really* long and complex, you have to design >> a single image and then slice it into multiple separate images, and it >> can cause up to 9 network requests. Border-image solves all of that >> by letting you create a single image, specify how to slice it in the >> CSS, and wrap it all up in a relatively simple syntax. > > Why not to add such slicing/sectioning to any background image then? Because, for the most part, that would be useless for background images. It's only really useful when you are specifically making a fancy border for a box. > I suspect that we need either > 1) multi-background images or > 2) single background image and the border-image > > But not both. > > We have multiple features that serve the same purpose - > drawing image(s) on the background in various ways. > > Usually such feature redundancy is one of ringing bells of > bad design. But they don't serve the same purpose. Border-image *replaces the border*. Background images are independent of the border. You use border-image specifically when you want a border on a box, but want to use a fancy image rather than one of the built-in styles. >> Another benefit of the current border-image proposal is that it allows >> you to paint outside of the actual box geometry. The benefits of this >> are clearly explain with a great example over at Brad's site: >> >> http://www.bradclicks.com/cssplay/border-image/Thinking_Outside_The_Box.html >> > > "to paint outside of the actual box geometry" > > That simply means that borders of the element are drawn on top of its > siblings but not on top of its children. That makes the logic even worse. Elaborate, please? ~TJ
Received on Saturday, 15 August 2009 21:29:45 UTC