- From: Anton Prowse <prowse@moonhenge.net>
- Date: Sat, 09 Oct 2010 09:10:44 +0200
- To: www-style list <www-style@w3.org>
- CC: Bert Bos <bert@w3.org>, "Tab Atkins Jr." <jackalmage@gmail.com>
On 08/10/2010 21:26, Anton Prowse wrote: > On 06/10/2010 21:36, Bert Bos wrote: >> On Wednesday 06 October 2010 01:48:17 Tab Atkins Jr. wrote: >>> This email is an attempt to resolve Issue 101 >>> (http://wiki.csswg.org/spec/css2.1#issue-101) >> >>> Suggested Change >>> ================ >> >> Why do you propose to change the spec? It's just an implementation bug, >> isn't it? > > Well, the behaviour doesn't match the spec, sure. > > However, I remain unconvinced that browsers' current behaviour is > undesirable. To me, it seems rather logical. As I've mentioned a couple > of times already, the issue here is containing blocks and overflow: > > Firstly, browsers treat all floats as if their overflow from their > containing block is clipped (ie ignored for layout purposes). This is > enough to "explain" the test cases for Rule 3, and some of the test > cases for Rule 7. > > This behaviour is reasonable because overflow is impotent in all other > ways in CSS21, so it's anomalous that it isn't impotent for floats. I'm excepting /vertical/ overflow for floats here, obviously. The non-impotence of vertical overflow of floats is a unique, integral and justifiable part of float behaviour; it's also rather different from horizontal overflow of floats and from any overflow of other boxes in that these types of overflow are generally "accidental" (which is why impotence is desirable) whereas vertical overflow of floats is "expected". To make a case for non-impotence of horizontal overflow for floats, you would need to present typographical justification for why the second float should move downwards in this case... <!DOCTYPE html> <div style="float:left; width:100px; height:100px; background:yellow"></div> <div style="margin-left:120px; width:150px; height:200px; background:green"> <div style="float:left">supercalifragilisticexpialidocious</div> </div> ...whilst the text doesn't move downwards in this one: <!DOCTYPE html> <div style="float:left; width:100px; height:100px; background:yellow"></div> <div style="margin-left:120px; width:150px; height:200px; background:green"> supercalifragilisticexpialidocious </div> Cheers, Anton Prowse http://dev.moonhenge.net
Received on Saturday, 9 October 2010 07:11:45 UTC