- From: Alan Gresley <alan@css-class.com>
- Date: Fri, 15 Oct 2010 01:07:05 +1100
- To: Peter Moulder <peter.moulder@monash.edu>, www-style@w3.org
Peter Moulder wrote: > On Thu, Oct 14, 2010 at 04:20:21PM +1100, Alan Gresley wrote: >> Peter Moulder wrote: >> [snip] >>> I must say that as someone without much CSS authoring experience, I can't say >>> I like the idea of allowing floats to overlap previous text, and I have >>> difficulty seeing the use cases. I'd have thought it easy enough to implement >>> rule 6 as written (though I'll grant it nevertheless does have some >>> implementation cost compared to the behaviour I see implemented). >> Firstly the floats do not overlap previous text. >> [Rather, the previous text overlaps the floats.] > > Sorry for creating misunderstanding: I was intending "overlap" as a symmetric > relation defined solely in terms of x,y axes, and didn't intend to convey > anything about z axis. More precisely it's painting order. > In terms of z axis, the float occludes backgrounds & borders of earlier blocks > (and more generally items 1–4 of zindex.html), and is occluded by inline-level > boxes of earlier blocks (and more generally items 6–10 of zindex.html). Yes, correct. >> BTW, what do you think having a top >> negative margin does to the layout? > > I believe Alan Gresley's point here is that large negative margins do have > their uses, and that these uses may well involve use of floats. No, I'm simply saying that a block that has a negative top margin causes that block and any following block to be moved upwards by height of the negative top margin. You have introduced a ripple or fold in the canvas. Like so. _____________ | | \|/ ________ | ^ |Block with Float | ^ | \|/ ^ \|/ -------- | | \|/ Negative margins are cool when they work. Load up the following test case in any good browser. The block with a negative top margin has a blue top border. The block before this element (with negative margin) has a orange bottom border. <http://css-class.com/test/bugs/ie/5~7/painting-negative-margins.htm> Now take a look at the same test in IE7. The clearing block compounds the bug and causes the last silver box to become unstable (pee-ka-boo activity). After this point, the layout is crippled. How many web designers would use this technique if wanting to support IE7? > [And no, I can't say I know what those uses are, and would ignorantly think > that tables or floats would work at least as well... Hence the two > disclaimers of ignorance in CSS authoring in my initial message.] > > pjrm. I should add that what happens with negative margins is in the spec for 9.5. | A float can overlap other boxes in the normal flow (e.g., when | a normal flow box next to a float has negative margins). When | this happens, floats are rendered in front of non-positioned | in-flow blocks, but behind in-flow inlines. -- Alan http://css-class.com/ Armies Cannot Stop An Idea Whose Time Has Come. - Victor Hugo
Received on Thursday, 14 October 2010 14:07:33 UTC