Closed Bug 168971 Opened 23 years ago Closed 18 years ago

[ABS POS]position without positioning doesn't consider 'float' property

Categories

(Core :: Layout: Positioned, defect, P4)

defect

Tracking

()

RESOLVED INVALID

People

(Reporter: denny, Assigned: dbaron)

References

()

Details

(Keywords: testcase, Whiteboard: [csswg])

Attachments

(4 files, 1 obsolete file)

User-Agent: Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/20020606 Build Identifier: Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/20020606 This page looks completely bizarre in Mozilla and Galeon. The main style element used seems to be [div]. The page validates as HTML 4.01 Strict and CSS2 compliant using the W3C and WDG validation services. Reproducible: Always Steps to Reproduce: 1. Visit the page. 2. Admire the weirdness. Actual Results: Odd rendering. Expected Results: Legible rendering?
The biggest issue seems to be about 'position: absolute' not respecting the old value of 'float' when determining what the position would be without absolute positioning -- this is an ambiguity with section 9.7 of CSS2, but I think it's been resolved to say that we're wrong, at least with other changes to Mozilla.
(The main problem I see is that what is supposed to be on the bottom right is instead on the bottom left, overlapping other things. That would be fixed by removing the extraneous 'position: absolute', but I think we should be putting it on the right, anyway, although the issue is very complicated. Are there other things you observed as wrong with the page? (If there is a browser that you think displays it correctly, could you attach a screenshot?)
This shows the content appearing in the right place re: the right hand column, but obviously it's lost almost all other style info as Navigator 4.x is fond of doing...
Viewed using Opera you can see that Mozilla and Galeon are also not rendering the top half of the page as the author probably intended - the Opera rendering of this looks more likely to be correct. Bottom half is still wonky in Opera though, with the right on the left as in Mozilla and Galeon...
Attached file minimized testcase (obsolete) —
1. The left DIV (float to left) is overlapped with the right DIV (float to right). 2. The left DIV width (<percentage>)and height(<length>) is not rendering 3. the main DIV height (auto)is not rendering 4. "background-position : right bottom" not rendering tested this on platform : win 2000 build : 2002-09-12-trunk
confirming this bug changing plaftform to all , since i see this in win2000 as well adding keyword 'testcase' adding priority "[QA-P2]" to status whiteboard.
Severity: normal → major
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: testcase
OS: Linux → All
Hardware: PC → All
Whiteboard: [QA-P2]
Attached file the correct testcase
please see this testcase instead of attachment 99402 [details]. This testcase shows the image with style "background-position: right bottom".
Attachment #99402 - Attachment is obsolete: true
For the background-image issue, Mozilla is correct and Opera is wrong -- background images with 'background-attachment: fixed' (which the author did not intend) are positioned relative to the viewport. I think this page would appear much better if the author removed 'position: absolute' from the rule with selector #right (also not intended, but a very obscure issue where Mozilla's behavior is not correct) and 'background-attachment: fixed'. In any case, I'm making this bug about the one issue that I believe is valid (albeit very obscure and thus minor). If you think there are any other valid bugs shown by this page, please file separate bugs.
Assignee: dbaron → attinasi
Severity: major → minor
Component: Style System → Layout
QA Contact: ian → petersen
Summary: Valid html4 css2 page renders bizarrely → [ABS POS]position without positioning doesn't consider 'float' property
Simplified the "position:absolute" case even further. dbaron: so what you are saying is that we should take top/left from the position the box would have had before 'float' was set to 'none' (CSS2 9.7)?
Maybe. I'd rather not have to bother, though, and we should probably get the spec clarified for CSS 2.1.
QA Contact: petersen → moied
Taking. Need to discuss with WG.
Assignee: attinasi → dbaron
Component: Layout → Layout: R & A Pos
Whiteboard: [QA-P2] → [QA-P2][csswg]
Priority: -- → P2
Whiteboard: [QA-P2][csswg] → [csswg]
Blocks: 237770
This is clarified in CSS2.1. 10.3.7 and 10.6.4 define the position only based on the the position the element would have had in normal flow. I think this means that the float property should not be considered in calculating an absolutely positioned block's position, as floats are outside normal flow. If my interpretation is correct, this bug is invalid, but bug 237770 is valid.
Okay, the current version is crystal clear: The static position for 'left' is the distance from the left edge of the containing block to the left margin edge of a hypothetical box that would have been the first box of the element if its 'position' property had been 'static' and 'float' had been 'none'. and More precisely, the static position for 'top' is the distance from the top edge of the containing block to the top margin edge of a hypothetical box that would have been the first box of the element if its 'position' property had been 'static' and 'float' had been 'none'. Therefore, this bug is invalid.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → INVALID
Flags: in-testsuite?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: