- From: Alan Gresley <alan@css-class.com>
- Date: Tue, 29 Mar 2011 18:30:07 +1100
- To: fantasai <fantasai.lists@inkedblade.net>
- CC: Sylvain Galineau <sylvaing@microsoft.com>, "www-style@w3.org" <www-style@w3.org>
On 19/03/2011 9:04 AM, fantasai wrote:
> On 03/09/2011 04:34 PM, Sylvain Galineau wrote:
>> Current selector syntax does not allow a pseudo-class to qualify a
>> pseudo-element
>> i.e. E::first-line:hover will not match when the first line of E is
>> hovered.
>>
>> Working through our latest CSS3 Grid Alignment proposal [1], this
>> means one couldn't do :
>>
>> #grid::grid-cell("nav"):hover {
>> ...
>> }
>>
>> One option would be to move the pseudo-class inside the functional
>> part of the
>> pseudo-element which - imo - looks unnatural i.e. the author would be
>> writing
>> something like #grid::grid-cell("nav" :hover) because the syntax
>> disallows
>> #grid::grid-cell("nav"):hover.
>
> Current selector syntax isn't necessarily future selector syntax, and if
> you are
> defining new selectors in your draft you can define appropriate syntax
> there.
>
> This is, btw, most definitely not a css3-selectors issue. If anything
> it's a
> css4-selectors issue. :)
>
> ~fantasai
Really, CSS4? We have implementation of this already.
Sylvain, you the parts mixed up. Try this.
<!DOCTYPE html>
<style type="text/css">
p { font-size: 200% }
p::first-letter {background: lime }
p:hover::first-letter { background: red }
p::first-letter:hover { background: orange }
p:hover::first-line { background: aqua }
p::first-line:hover { background: yellow }
</style>
<p>Some text to fill this paragraph</p>
Results:
IE9 first-letter = red
first-line = aqua
Opera 11: first-letter = red
first-line = aqua
Safari 5.0.4 first-letter = red
FF 3.6.16: first-letter = red
I have not checked in FF4b.
This is how I expected it to work. Here is a demo from a few months ago.
<http://css-class.com/test/css/3/expanding-tabs-with-transition.htm>
Second example has this CSS,
.content1 a:hover:after,
.content1 a:focus:after {
width: 100%;
}
to expand the generated content on :hover. All browsers expand the
generated content instantaneously where FF4b expands it as a true
transition.
I don't think we should change current implemented behavior which is.
E:hover::first-letter
E:hover::first-line
E:hover::before
E:hover::after
--
Alan http://css-class.com/
Armies Cannot Stop An Idea Whose Time Has Come. - Victor Hugo
Received on Tuesday, 29 March 2011 07:30:42 UTC