- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Tue, 5 Oct 2010 17:15:13 -0700
- To: "L. David Baron" <dbaron@dbaron.org>
- Cc: www-style list <www-style@w3.org>
On Tue, Oct 5, 2010 at 5:08 PM, L. David Baron <dbaron@dbaron.org> wrote: > On Tuesday 2010-10-05 16:48 -0700, Tab Atkins Jr. wrote: >> Suggested Change >> ================ >> >> Current text: >> >> # The right outer edge of a left-floating box may not >> # be to the right of the left outer edge of any >> # right-floating box that is to the right of it. >> # Analogous rules hold for right-floating elements. >> >> Suggested text: >> >> | The right outer edge of a left-floating box may not >> | be to the right of the left outer edge of any >> | right-floating box that is to the right of it and >> | that intersects the left-floating box's parent box. >> | Analogous rules hold for right-floating elements. > > I agree you want to check intersection of horizontal coordinates, > but I don't think you want to check intersection of vertical > coordinates. Ah, correct you are. Testcase to demonstrate the problem (for rule 7 instead, because that's what I'm writing up right now, but it applies to 3 as well): Good behavior, per spec: <!doctype html> <div id=container> <div id=leftfloat1></div> <div id=parent> <div id=leftfloat2></div> </div> </div> <style> #container { width: 400px; height: 400px; background: yellow; border: 1px solid yellow; } #leftfloat1 { width: 100px; height: 100px; margin-top: 150px; background: green; float: left; } #leftfloat2 { width: 350px; height: 100px; background: blue; float: left; } #parent { width: 280px; height: 120px; margin-left: auto; border: 3px dotted black; } </style> Bad behavior, which ignores the other float in the BFC: <!doctype html> <div id=container> <div id=leftfloat1></div> <div id=parent> <div id=leftfloat2></div> </div> </div> <style> #container { width: 400px; height: 400px; background: yellow; border: 1px solid yellow; } #leftfloat1 { width: 100px; height: 100px; margin-top: 150px; background: green; float: left; } #leftfloat2 { width: 350px; height: 100px; background: blue; float: left; } #parent { width: 320px; height: 120px; margin-left: auto; border: 3px dotted black; } </style> So, amended text: | The right outer edge of a left-floating box may not be to the right of the left outer edge of any right-floating box that is to the right of it and whos left outer edge is to the left of the left-floating box's parent box's right edge. Analogous rules hold for right-floating elements. ~TJ
Received on Wednesday, 6 October 2010 00:16:06 UTC