I noticed this in looking at www.tomshardware.com -- the overall page is composed of three TABLE, all with 'align="left"', total width for the three is about 880px. Depending on the width of the viewport, these three may be placed either (1) all on one line, or (2) the second float is dropped below the first float and the third float is placed above the second float. I couldn't decide if this was correct or not (reading http://www.w3.org/TR/REC-CSS2/visuren.html#containing-block), but the testcase (to follow) should be easy to understand (and either INVALID, DUPLICATE or ...)
If a float would have to stick out the 'wrong' edge to be next to a prior float, it should be pushed below the prior float. See section 9.5 of CSS2. I'm not sure if that's what you're asking, though...
The rules are clearer to me, looking a second time. I just wasn't sure if the following bit about the containing block of the root element really meant what it says. [In plain terms: no ... you can't get three float:left blocks to line up on the same line, if they are in sum wider than the viewport; and resizing the viewport will reposition these floats to fit the new viewport width]. http://www.w3.org/TR/REC-CSS2/visuren.html#containing-block The root of the document tree generates a box that serves as the initial containing block for subsequent layout. The width of the initial containing block may be specified with the 'width' property for the root element. If this property has the value 'auto', the user agent supplies the initial width (e.g., the user agent uses the current width of the viewport). This bug report is likely invalid (so nuke it if it is, dbaron).
this isn't a quirk we want to emulate, unless we really get a lot of sites that take advantage of it. The page author has a clear and easy fix.
Status: NEW → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → WONTFIX
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.