W3C home > Mailing lists > Public > public-css-archive@w3.org > October 2019

[csswg-drafts] [selectors] Make sure :is()/:not()/etc work well with pseudo-elements (#4417)

From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
Date: Sat, 12 Oct 2019 17:01:58 +0000
To: public-css-archive@w3.org
Message-ID: <issues.opened-506211758-1570899717-sysbot+gh@w3.org>
tabatkins has just created a new issue for https://github.com/w3c/csswg-drafts:

== [selectors] Make sure :is()/:not()/etc work well with pseudo-elements ==
In the past I've resisted things like `.foo:is(.bar, ::before)`, because the ::before part is technically changing the subject of the compound selector, something no other selector can do.

But this just leaves a functionality gap, since pseudo-elements don't have a combinator dedicated to them to allow matching plainly. Selector syntax is awkwardly designed around pseudo-elements, but we're stuck with it, and should accept that pseudo-elements are part of the compound selector grammar and are allowed to change the subject in a real way.

Thus we should make sure that :not()/etc work properly with them too.

(There's no reason to use :not() with any of the current pseudos, but `::part(foo):not(::part(bar))` makes sense and is useful.)

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/4417 using your GitHub account
Received on Saturday, 12 October 2019 17:02:00 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 06:41:54 UTC