- From: Matthew Raymond <mattraymond@earthlink.net>
- Date: Sun, 19 Nov 2006 07:55:15 -0500
- To: Boris Zbarsky <bzbarsky@mit.edu>, daniel.glazman@disruptive-innovations.com
- CC: Marco von Frieling <teuchlfex@gmx.at>, www-style Mailing List <www-style@w3.org>
Boris Zbarsky wrote:
> Marco von Frieling wrote:
>> It means: (Try to) Apply the following rules to all elements selected by h1,
>> h2 and h3, but not to elements selected by .login h1.
>
> Or we could allow things other than simple selectors as arguments to :not...
>
> Note that in your case if the combinator in use were ">" instead of " " you
> could already do ":not(.login) > h1". Sadly, ":not(login) h1" doesn't mean the
> same thing as "h1:not(.login h1)" would if it existed.
Daniel Glazman Wrote:
> Boris Zbarsky wrote:
>> Or we could allow things other than simple selectors as arguments to
>> :not...
>
> The biggest problems here are (a) the computation of the specificity of
> such a selector (b) of course the fact that not(a and b) is not(a) or
> not(b).
In other words, to do "h1:not(login > h1)", you'd need to do this:
| :not(.login) > h1, .login > * h1 { /* Styling. */ }
For ".login h1" and "h1:not(login h1)", one would think the following
would work:
| h1 { /* Common styling. */ }
| .login h1 { /* Login styling. */ }
| :not(.login) > h1 { /* Styling for non-Login level 1 headers. */ }
| :not(.login) > * > h1 { /* Styling for non-Login level 1 headers. */ }
| :not(.login) > * > * > h1 { /* ... */ }
| :not(.login) > * > * > * > h1 { /* ... */ }
| :not(.login) > * > * > * > * > h1 { /* ... */ }
| :not(.login) > * > * > * > * > * > h1 { /* ... */ }
| :not(.login) > * > * > * > * > * > * > h1 { /* ... */ }
| :not(.login) > * > * > * > * > * > * > * > h1 { /* ... */ }
| :not(.login) > * > * > * > * > * > * > * > * > h1 { /* ... */ }
| :not(.login) > * > * > * > * > * > * > * > * > * > h1 { /* ... */ }
| [... On into infinity ...]
CRAP!!!
Received on Sunday, 19 November 2006 12:55:43 UTC