Closed Bug 1900 Opened 27 years ago Closed 27 years ago

Transparent background on HTML element causes undefined background

Categories

(Core :: CSS Parsing and Computation, defect, P2)

Other
Other
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: ian, Assigned: peterl-retired)

References

()

Details

What happens is that the following: HTML { background: transparent; } ...fails to draw the background, thus leaving an undefined mess. See CSS1 spec for details on what exactly should happen.
Actually, it turns out that this behaviour is not against the spec. See http://www.w3.org/TR/REC-CSS1#the-canvas ...which says: > If the 'background' value of the 'HTML' element is different > from 'transparent' then use it, else use the 'background' > value of the 'BODY' element. If the resulting value is > 'transparent', the rendering is undefined. ...which is is! I suggest reading "undefined" as "UA dependant" in non-strict-parsing mode, and using the default window colour from the operating system. As per "background-color:window;" from CSS2 - see http://www.w3.org/TR/REC-CSS2/ui.html#system-colors for more details. In strict-parsing mode, I would simply say "Cannot render document. Canvas color undefined."
Status: NEW → RESOLVED
Closed: 27 years ago
Resolution: --- → FIXED
This is fixed now and we paint the background. We now have a root frame whose child is the frame for the document element (in this case the HTML element). The root frame draws its background using the default color. Note we still have a problem mentioned below with the HTML element not using the BODY's background if it has a value of 'transparent'. That's covered by bug #2054
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.