pseudo-elements cannot be positioned

VERIFIED FIXED in M5

Status

()

Core
Layout
P3
normal
VERIFIED FIXED
19 years ago
19 years ago

People

(Reporter: dbaron, Assigned: troy)

Tracking

Trunk
Other
Other
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

19 years ago
You should ignore positioning (absolute and relative) on :before and :after
pseudo-elements.  The above test case describes the correct behavior.  The
problems are in the :after of the second test and the :before of the third test.
(Assignee)

Updated

19 years ago
Status: NEW → ASSIGNED
Target Milestone: M6
(Reporter)

Comment 1

19 years ago
Other problems in this page are described in bug 4834.
(Assignee)

Updated

19 years ago
Target Milestone: M6 → M5
(Assignee)

Comment 2

19 years ago
I have a fix for this in my tree, and I'll check it in when the tree opens.

BTW, there's a missing ';' in your test which is why "The end." isn't displayed:

P.two:after {
        position: absolute; /* ignored */
        top: 0;
        left: 0;
        content: " The end."
        border-left: inherit;
        }
(Reporter)

Comment 3

19 years ago
Thanks for the fix.  That shows you are ignoring absolute positioning (I
thought it was getting positioned and clipped).  So the only problem is/was
relative positioning (other than bug 4834).
(Assignee)

Comment 4

19 years ago
Yes, exactly right. The generated code code is doing the correct thing and
ignoring positioning and float, i.e. it's nit moving the frame out of the flow

The problem is that the nsHTMLReflowState code (used during reflow) is seeing
the 'position' property set and computing the constraints as if the element
were relatively positioned.

My fix is to reset the style information so 'position' is set to 'normal' which
fixes the problem
(Assignee)

Updated

19 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED
(Reporter)

Updated

19 years ago
Status: RESOLVED → VERIFIED
(Reporter)

Comment 5

19 years ago
Verified fixed.
You need to log in before you can comment on or make changes to this bug.