Re: [selectors] Are really arbitrary selectors allowed in :not()?

On 1/20/15 8:36 AM, Sebastian Zartner wrote:
> On 19 January 2015 at 19:57, Benjamin Poulain <benjamin@webkit.org> wrote:
>>
>> The selector list inside :not() applies to the element being matched.
>>
>> div:not(.someclass > span) never matches anything since no element would have the local names "div" and "span" simultaneously.
>
> Ok, that makes sense. Though IMO that is unclear from the
> specification. And it is also missing a proper example illustrating
> this behavior.
>
>> span:not(div > .someclass) matches any span that does not have a class "someclass" and is not under a div.
>
> So an equivalent to :not(div) > span:not(.someclass).
>
>> This selector already works in WebKit Nightly, you can try it there. It is really useful to get elements that are not the in certain subtrees, e.g. img:not(:any-link >> *)
>
> Is there a Windows build available somewhere?

Hum, nope, it is only OS X and Linux.

>> On 1/19/15, 2:03 AM, Sebastian Zartner wrote:
>>
>> Selectors Level 4 removes the restriction to simple selectors for the :not() pseudo-class and now allows it to take a selector list. The only restriction mentioned is that pseudo-elements are forbidden.
>> Does this mean it allows arbitrary selectors like matching descendants?
>>
>> Examples:
>> div:not(.someclass > span)
>> section:not(a:hover)
>>
>> I assume the selectors should be restricted to aspects of the element as in Level 3, i.e. :not() takes a list of *simple* selectors.
>> Otherwise it would cover the functionality of the :has() pseudo-class and fall into the category of complete selector profiles.
>>
>> Sebastian
>>
>>

Received on Tuesday, 20 January 2015 20:40:21 UTC