@@ -812,8 +812,6 @@ Pseudo-classing Pseudo-elements</h4>
812
812
unless otherwise-specified, none of these <a>pseudo-classes</a>
813
813
will match on the <a>pseudo-element</a> .
814
814
815
- Issue: Clarify that '':not()'' and '':is()'' can be used when containing above-mentioned pseudos.
816
-
817
815
<div class="example">
818
816
For example, since the '':hover'' pseudo-class specifies
819
817
that it can apply to any pseudo-element,
@@ -831,8 +829,14 @@ Pseudo-classing Pseudo-elements</h4>
831
829
whereas ''::first-line:hover'' only matches if the first line itself is hovered.
832
830
</div>
833
831
832
+ The [=logical combination pseudo-classes=]
833
+ '':not()'' , '':is()'' , and '':where()''
834
+ are also valid immediately following a [=pseudo-element=]
835
+ provided their arguments all adhere to the above restriction.
836
+
834
837
Note: Note that, unless otherwise specified in a future specification,
835
838
pseudo-classes other than the <a href="#useraction-pseudos">user action pseudo-classes</a>
839
+ (and logical combination pseudo-classes restricted to them)
836
840
are not valid when compounded to a pseudo-element;
837
841
so, for example, ''::before:first-child'' is an invalid selector.
838
842
@@ -988,6 +992,22 @@ Invalid Selectors and Error Handling</h3>
988
992
<h2 id="logical-combination">
989
993
Logical Combinations</h2>
990
994
995
+ Selector logic can be manipulated by
996
+ [=compound selector|compounding=] (logical AND),
997
+ [=selector lists=] (logical OR),
998
+ and the <dfn>logical combination pseudo-classes</dfn>
999
+ '':is()'' , '':where()'' , and '':not()'' .
1000
+ The [=logical combination pseudo-classes=]
1001
+ are allowed anywhere that any other [=pseudo-classes=] are allowed,
1002
+ but pass any restrictions to their arguments.
1003
+ (For example, if only [=compound selectors=] are allowed,
1004
+ then only [=compound selectors=] are valid within an '':is()'' .)
1005
+
1006
+ Note: Since inside '':is()'' and '':where()''
1007
+ invalid arguments are dropped without invaliding the [=pseudo-class=] itself,
1008
+ selector arguments that are invalidated by contextual restrictions
1009
+ likewise do not invalidate the '':is()'' pseudo-class itself.
1010
+
991
1011
<h3 id="grouping">
992
1012
Selector Lists</h3>
993
1013
0 commit comments