- From: David Hyatt <hyatt@apple.com>
- Date: Wed, 19 Mar 2008 17:20:36 -0500
- To: Sergey Malkin <sergeym@windows.microsoft.com>
- Cc: "www-style@w3.org" <www-style@w3.org>
Yeah that's a bug in Safari all right. Thanks. I'll get it filed and fixed. dave (hyatt@apple.com) On Mar 19, 2008, at 4:05 PM, Sergey Malkin wrote: > It is actually much simpler scenario: > > <style> > p {color:green;} > p:first-line {color:blue;} > </style> > <body style="font-size:48pt;" > > <div> > <p>This is long <span style="display:inline-block; ">paragraph > that may be broken into several </span> lines.</p> > <p>This is long <span >paragraph that may be broken into > several </span> lines.</p> > </div> > > Even if whole text fit into single line, span remains green in first > paragraph and blue is in second. > > Thanks, > Sergey > > -----Original Message----- > From: David Hyatt [mailto:hyatt@apple.com] > Sent: Wednesday, March 19, 2008 11:39 AM > To: Sergey Malkin > Cc: www-style@w3.org > Subject: Re: [css2.1] :first-line behvior > > It's hard for me to tell what behavior in Safari you think is wrong. > Could you elaborate? > > dave > > On Mar 19, 2008, at 1:32 PM, Sergey Malkin wrote: > >> >> Several people already pointed out to me, that "div:first-line span" >> is not valid for CSS and should be ignored. So behavior I expect is >> incorrect, but behavior of Opera and Safari still seems wrong. >> >> Thanks, >> Sergey >> >> -----Original Message----- >> From: www-style-request@w3.org [mailto:www-style-request@w3.org] On >> Behalf Of Sergey Malkin >> Sent: Wednesday, March 19, 2008 10:31 AM >> To: www-style@w3.org >> Subject: RE: [css2.1] :first-line behvior >> >> >> 5.12.1, "The :first-line pseudo element", says that in case of >> nested blocks pseudo elements for all blocks should be nested inside >> innermost block-level element: >> >> <div> >> <p> Abc </p> >> <p> Xyz </p> >> </div> >> >> should be processed as >> >> <div> >> <p><div:first-line><p:first-line>Abc</p:first-line></div:first- >> line></p> >> <p><p:first-line>Abc</p:first-line></p> >> </div> >> >> In reality, I do not see any browser implementing this, div:first- >> line is ignored. Test case I used was: >> >> <html> >> <style> >> div {font-family:Verdana;} >> div:first-line {font-family:Georgia;} >> p {color:green;} >> p:first-line {color:blue;} >> </style> >> <body> >> <div><p>This is long paragraph that may be broken into several >> lines.</p></div> >> </body> >> </html> >> >> Spec uses "should" for this behavior, and since CSSS1 and CSS2 did >> not specify this case, authors should not rely on this behavior. So, >> should this case just be removed from the spec and left unspecified? >> >> Another interesting case is selecting style like "div:first-line >> span": >> >> <html> >> <style> >> div {font-family:Verdana;} >> div:first-line {font-family:Georgia;} >> p {color:green;} >> p:first-line {color:blue;} >> div:first-line span {font-weight:bold;} >> </style> >> <body> >> <div> >> <p>This is long <span style="display:inline-block">paragraph >> that may be broken into several </span>lines.</p> >> <p>This is long <span style="display:inline-block">paragraph >> that may be broken into several </span>lines.</p> >> </div> >> </body> >> </html> >> >> Span style works only in Opera and only if span is set to >> display:inline-block, but it will apply this rule to the span even >> if it is on the second line and to both paragraphs. In Safari, >> specifying display:inline-block causes p:first-line stop working >> inside this span. Firefox just seems to ignore "div:first-line span" >> style. I would expect bold to appear for the span if it appears on >> first line, either inside inline-block or not, and for the first >> paragraph only. Am I right? >> >> Thanks, >> Sergey >> >> >> >> >> > >
Received on Wednesday, 19 March 2008 22:21:20 UTC