Closed Bug 36710 Opened 24 years ago Closed 24 years ago

inline background/border should paint above floats [BG]

Categories

(Core :: Layout, defect, P3)

x86
Linux
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: dbaron, Assigned: dbaron)

References

Details

(Keywords: css1, Whiteboard: [fix in hand])

Attachments

(1 file)

DESCRIPTION:  Mozilla currently does not comply with section 9.5 of CSS2 which
says:

  A float can overlap other boxes in the normal flow (e.g., when a
  normal flow box next to a float has negative margins). When an inline
  box overlaps with a float, the content, background, and borders of
  the inline box are rendered in front of the float. When a block box
  overlaps, the background and borders of the block box are rendered
  behind the float and are only be visible where the box is
  transparent. The content of the block box is rendered in front of the
  float.

Right now Mozilla paints the text over the float, but not the inline
background/border.  This is done so that inline background/border doesn't paint
over inline text (mainly because Kipp wanted
http://www.w3.org/Style/CSS/Test/current/sec42.htm to look OK, even though it
probably should look bad).

This could be fixed in 2 ways:
 * add a 4th paint layer, so sec42 still looks good
 * Just move inline background/border into the FOREGROUND paint layer

STEPS TO REPRODUCE:
 * load attached test case

ACTUAL RESULTS:
 * the red background and green border of the inline element is covered by the
float where the inline overlaps the float

EXPECTED RESULTS:
 * the red background and green border should be on top of the float

DOES NOT WORK CORRECTLY ON:
 * Linux, mozilla, 2000-04-20-09-M16

ADDITIONAL INFORMATION:

How this bug is fixed should effect how bug 27757 should be fixed.  Bug 27757
should perhaps also be considered in deciding how to fix this bug.
Status: NEW → ASSIGNED
Target Milestone: --- → M17
David:  Is this a CSS-1 issue or CSS-2?  If CSS-2, it'll get "FUTURE'd"
CSS1. But don't look for it in the CSS1 specification. This is one of those
things that was cleared up in CSS2.
Keywords: css1
I'm not so sure about that.  'float' is CSS1, but I think the painting order 
rules were undefined until CSS2.
Taking this bug.
Assignee: buster → dbaron
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
Target Milestone: M17 → M18
Nominating for nsbeta3 - this should be a trivial fix (probably a one line
change, although I haven't looked yet), and it's a CSS compliance issue.
Keywords: correctness, nsbeta3
Whiteboard: [fix in hand]
Summary: inline background/border should paint above floats → inline background/border should paint above floats [BG]
Fix checked in 2000-09-04 14:45 PDT.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Verified fixed in the 2001010203 build.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: