Closed Bug 12272 Opened 26 years ago Closed 25 years ago

[FLOAT] clear not clearing previous floating siblings of ancestors

Categories

(Core :: Layout, defect, P2)

defect

Tracking

()

VERIFIED WORKSFORME
Future

People

(Reporter: dbaron, Assigned: buster)

References

()

Details

(Keywords: css1, helpwanted, testcase, Whiteboard: [nsbeta3-] [rtm-])

Attachments

(2 files)

DESCRIPTION: The CSS clear property doesn't work when the floats to be cleared are children of previous siblings rather than previous siblings. I think clear should increase margin-top to clear past any floats in the same flow - i.e., the flow of the body, a float, or an absolutely positioned element. (CSS is a little unclear on these exceptions, but I think they should be kept to a minimum.) STEPS TO REPRODUCE: Load attached test case. ACTUAL RESULTS: "This second div should clear the float" appears right under the first div and underneath (z-wise) the float. EXPECTED RESULTS: The second div should clear the float. DOES NOT WORK CORRECTLY ON: * Linux, viewer, 1999-08-20-13-M10 ADDITIONAL INFORMATION: Info on 'clear': http://www.w3.org/TR/REC-CSS2/visuren.html#flow-control
Summary: clear not clearing floating children of previous siblings → {css1}clear not clearing floating children of previous siblings
Whiteboard: [TESTCASE]
This problem seems only to happen some of the time. Attaching a test case where it does work, except it flashes an incorrect position on initial load...
Summary: {css1}clear not clearing floating children of previous siblings → {css1}{inc}clear not clearing floating children of previous siblings
Actually, the problem was that I switched to a debug build that was a few days older so I could use visual debugging. Now, comparing two optimized builds: * In 1999-08-16-08-M9, the elements flash an incorrect position initially, but then go to the right place. * In 1999-08-20-13-M10, the elements stay in the incorrect position until the window is resized. The incorrect position is that one element and its children ignore floaters that are descendants of previous children (in both cases). However, in the first testcase, its the element itself that is shown to be ignoring the floaters that are descendants of its previous sibling. In the second testcase, it's both that element *and* the floating children of that element (labeled four, five, and six) that ignore the existence of the prior floats. So this is, to some degree, a regression in the last for days, but you really shouldn't flash the incorrect positioning to start with, so...
s/previous children/previous siblings/
Assignee: troy → kipp
OS: Linux → All
Hardware: PC → All
ALSO DOES NOT WORK CORRECTLY ON: * Windows, apprunner, 1999-08-24-09-M10 Marking All/All
Status: NEW → ASSIGNED
Summary: {css1}{inc}clear not clearing floating children of previous siblings → {inc} clear not clearing floating children of previous siblings
It's just an incremental reflow bug; I haven't touched that logic since before june, so you are just witnessing timing bugs. Since a resize fixes the problem, I've removed the "{css}" marker and left the "{inc}" marker in place.
Priority: P3 → P2
Target Milestone: M11
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
With a current build, both attached test cases layout properly the first time and subsquently.
Status: RESOLVED → VERIFIED
This problem appears to be fixed in the Sept 16th build. Marking as verified fixed.
Status: VERIFIED → REOPENED
Summary: {inc} clear not clearing floating children of previous siblings → {css1} clear not clearing floating children of previous siblings
Resolution: FIXED → ---
I just ran into a case where this is still failing: http://www.bath.ac.uk/%7Epy8ieh/m/clear-sibling-child.html Reopening. Note, this is not an incremental bug, since resizing the window does not affect the rendering. Adjusting markers appropriately.
Target Milestone: M11 → M12
M11 out the door...moving to M12.
Target Milestone: M12 → M14
Updating to default Layout Assignee...kipp no longer with us :-(
Why are you re-reassing layout bugs? Do NOT touch layout bugs. The bugs are assigned to Kipp so they can stay neatly organized until we have a new owner for the block/inline code.
mass moving all Kipp's pre-beta bugs to M15. Nisheeth and I will prioritize these and selectively move high-priority bugs into M13 and M14.
Summary: {css1} clear not clearing floating children of previous siblings → {css1} [FLOAT] clear not clearing floating children of previous siblings
QA Contact: petersen → chrisd
Keywords: css1
Migrating from {css1} to css1 keyword. The {css1}, {css2}, {css3} and {css-moz} radars should now be considered deprecated in favour of keywords. I am *really* sorry about the spam...
Bulk moving [testcase] code to new testcase keyword. Sorry for the spam!
Keywords: testcase
Summary: {css1} [FLOAT] clear not clearing floating children of previous siblings → [FLOAT] clear not clearing floating children of previous siblings
mine! mine mine mine! all mine! whoo-hoo!
Assignee: kipp → buster
I just ran into this again. See the second test of this page: http://www.bath.ac.uk/%7Epy8ieh/m/clear-list-item.html
Whiteboard: [TESTCASE]
the simple test cases work with a new fix in my tree, but the two in the URL field do not
URL: http://www.bath.ac.uk/%7Epy8ieh/m/cle...
with a fix I have in my tree, the attached test cases work but the main URL is still broken. When I check in my fixes late next week, we'll need a new testcase.
Status: NEW → ASSIGNED
moving all buster m15 bugs to m16.
Target Milestone: M15 → M16
this won't make M16, moving to M17
Target Milestone: M16 → M17
Buster, did you check in that fix? Does this still need a new testcase? the urls listed still don't render according to the text descriptions.
URL: http://www.bath.ac.uk/%7Epy8ieh/m/cle...http://www.bath.ac.uk/%7Epy8ieh/m/cle...
Keywords: nsbeta3, relnote2
correctness. dbaron, what would be the impact of not fixing this? Are we aware of actual web pages that depend on this? If not, what kinds of things would this bug block content developers from doing?
Keywords: correctness
If the problem is still as originally described, then clear is broken in all but the most simple cases, and it would probably affect real world pages significantly. However, it probably should be retested considering the bug is 11 months old...
The problem for which Ian reopened this bug is really a separate issue from the original one. In fact, our current behavior may even be correct (I'm not sure). It's not clear to me whether a float should establish a totally new float formatting context (my term -- I want this formalized in CSS3), and the only thing that should matter outside of the float is the bounds of the float, or whether floats within that float should have to be considered in outer float formatting contexts? If the interior floats were blocks, they clearly wouldn't matter. But if they're floats? Ian?? (Note that this issue could be more dangerous for authors unintentionally causing overlap in its horizontal implications.)
Good question. Who is Netscape's W3C contact? This needs an answer from the CSS working group.
Whiteboard: (py8ieh:wg) Need to contact CSS working group
As per meeting with ChrisD today, taking QA. I will investigate the issue with the WG shortly.
QA Contact: chrisd → py8ieh=bugzilla
See bug 23322 and bug 27997 for similar issues (though horizontal).
Denying approval for beta3: too many bugs, too little time, so this one has to be handled in the future.
Whiteboard: (py8ieh:wg) Need to contact CSS working group → (py8ieh:wg) Need to contact CSS working group [nsbeta3-]
Target Milestone: M17 → Future
http://www.bath.ac.uk/%7Epy8ieh/m/clear-sibling-child.html is INVALID, per WG meeting. Floats create new formatting contexts, nested floats should not in any way affect content outside their floated ancestor. http://www.bath.ac.uk/%7Epy8ieh/m/clear-list-item.html IS valid, though, and we still fail it. EVEN INTERNET EXPLORER 5 GETS THIS CORRECT. Not fixing this will basically prevent the use of 'clear' (a CSS1 property) in all but the simplest of cases. Not only will the WaSP have a field day with this, but real world websites will have to use silly hacks to get around the issues. (Note that there is another bug shown by that page, which is that floated list-items should still have their bullet/number, per the last CSS WG face-to- face. That is a separate bug though, and much less important.)
URL: http://www.bath.ac.uk/%7Epy8ieh/m/cle...http://www.bath.ac.uk/%7Epy8ieh/m/cle...
Severity: normal → major
Keywords: 4xp
Summary: [FLOAT] clear not clearing floating children of previous siblings → [FLOAT] clear not clearing previous floating siblings of ancestors
Whiteboard: (py8ieh:wg) Need to contact CSS working group [nsbeta3-] → [nsbeta3-]
I know we still do not have enough resources to get this fixed. However: Removing [nsbeta3-] to put this floater bug (and 3 others) back onto the developer radar, as per suggestion by Gerardo.
Keywords: helpwanted
Whiteboard: [nsbeta3-] → (beta3 minus per triaging)
nominateing for rtm since this is a compliance issue
Keywords: rtm
changed (beta3 minus per triaging) to [nsbeta3-] so searches work correctly
Whiteboard: (beta3 minus per triaging) → [nsbeta3-]
Ian - could you explain the issue for which this bug is currently open? I don't see a CSS1 compliance issue here -- or, for that matter, anything.
Marking rtm-.
Whiteboard: [nsbeta3-] → [nsbeta3-] [rtm-]
Hixie: It seems unclear to me whether this bug requires either of a "developer" or "user" release note. If anyone feels it does, can they please draft one and then nominate with the relnote-user or relnote-rtm strings in the Status Whiteboard. Thanks :-) Gerv
Oops, missed David's comments. The only remaining issue I see now is just the float numbering problem, we'll deal with that later.
Status: ASSIGNED → RESOLVED
Closed: 26 years ago25 years ago
Resolution: --- → WORKSFORME
Reassigning to chrisd for verification.
QA Contact: ian → chrisd
Using 1/22 trunk build and 1/24 MTEST build, with 'valid' testcase from 8/25 comments, verified bug fixed.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: