::first-letter doesn't work properly when ::before/::after generated content is present

VERIFIED FIXED in Future

Status

()

Core
CSS Parsing and Computation
P4
minor
VERIFIED FIXED
15 years ago
15 years ago

People

(Reporter: annevk, Assigned: dbaron)

Tracking

({testcase})

Trunk
Future
testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

15 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5a) Gecko/20030707
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5a) Gecko/20030707

I made to testcases about this problem: 
:before / ::before
http://www.annevankesteren.nl/css/testcase/pseudo_before.html
:after / ::after
http://www.annevankesteren.nl/css/testcase/pseudo_after.html

The second table on each page shows the problem.

Unrelated: You can't select generated text, Mozilla applies the css on invalid
attributes.

Reproducible: Always

Steps to Reproduce:
(Assignee)

Updated

15 years ago
OS: Windows XP → All
Priority: -- → P4
Hardware: PC → All
Summary: Doesn't apply :first-letter on :before / :after or ::first-letter on ::before / ::after → ::first-letter doesn't work when ::before/::after generated content present
Target Milestone: --- → Future

Comment 1

15 years ago
selecting generated content is bug 12460

Comment 2

15 years ago
From http://www.w3.org/TR/CSS21/selector.html#first-letter :
"The :first-letter pseudo-element matches parts of block-level elements only."

If you change EM to P in the examples they work better (except "css3-test-21"
and "css3-test-22" for which you have a typo in the style rules).

There is one thing that doesn't seem to work though, the text-decoration
property isn't applied to the :first-letter.
(Reporter)

Comment 3

15 years ago
Typos and incorrect implementation from the standard have been fixed in both
examples. Changed the summary als o a bit so it fits better to the problem.

//
I had also another problem with generated content in mozilla. Opera shows
something, but does not apply everything.

That was also about an inline element (code), but I set it to a block-level
element with css. Should I put this into it's own bug? Example:
http://www.annevankesteren.nl/css/testcase/generated_content.html
Summary: ::first-letter doesn't work when ::before/::after generated content present → ::first-letter doesn't work properly when ::before/::after generated content is present

Comment 4

15 years ago
> Should I put this into it's own bug?

Yes, please open a new bug on that.

I don't really see what the problem is in this bug though (apart from text-
decoration and selection not working).  I see a green "G" everywhere in the
lower part of both your examples.  Would you mind explaining "actual behaviour"
and "expected behaviour" for one of those examples?
(Reporter)

Comment 5

15 years ago
Well actually is was an extended testcase for the CSS3 testcase:
http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/full/flat/css3-modsel-39.html
http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/full/flat/css3-modsel-39a.html
http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/full/flat/css3-modsel-39c.html
http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/full/flat/css3-modsel-39b.html

In those (39a and 39c) tests it seems that Mozilla doesn't support it. The
text-decoration wasn't really the expected behavior, but now it's a bug :).

The expected behaviour stands above the tables. I you're pointing at something
else please notice me, since this is my very first Mozilla bug report.

Thank you.

Comment 6

15 years ago
OK, thanks.  Looking at those tests though (39a and 39c), it seems they have
a bug in them.  There is a comma in between the rules that shouldn't be there.
I'm going to attach cleaned up versions of those two tests.
Severity: normal → minor

Comment 7

15 years ago
Created attachment 127341 [details]
Testcase css3-modsel-39a.html

Comment 8

15 years ago
Created attachment 127342 [details]
Testcase css3-modsel-39c.html

Comment 9

15 years ago
AFAICT, those tests are still bogus since the selectors have equal specificity
and then the last (red) should be the background-color to use, no?
Keywords: testcase
(Reporter)

Comment 10

15 years ago
The W3C says this:

"When the ::first-letter and ::first-line pseudo-elements are combined with
::before and ::after, they apply to the first letter or line of the element
including the inserted text."

Source:
http://www.w3.org/TR/css3-selectors/#gen-content

So I think it should be totally green and not red.
I've spawned of bug 212149 for the text-decoration problem.
(tests have been fixed, expect the new tests uploaded soon)
This bug was fixed by the patch in bug 212149, see bug 212149 comment 4.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → FIXED
Verified fixed, 2003-07-11-22 trunk Linux
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.