@@ -887,6 +887,31 @@ Pseudo-classing Pseudo-elements</h4>
887887 are not valid when compounded to a pseudo-element;
888888 so, for example, ''::before:first-child'' is an invalid selector.
889889
890+ <h4 id="sub-pseudo-elements">
891+ Sub-pseudo-elements</h4>
892+
893+ Some [=pseudo-elements=] are able to be the [=originating element=]
894+ of other [=pseudo-elements=] ,
895+ which are defined as the <dfn export lt="sub-pseudo-element">sub-pseudo-elements</dfn>
896+ of this <dfn export>originating pseudo-element</dfn> .
897+ For example,
898+ when ''::before'' is given a ''list-item'' [=display type=] ,
899+ it becomes the [=originating pseudo-element=]
900+ of its ''::before::marker'' [=sub-pseudo-element=] .
901+
902+ Where disambiguation is needed,
903+ the term <dfn export>ultimate originating element</dfn>
904+ refers to the real (non-pseudo) element
905+ from which a [=pseudo-element=] originates.
906+
907+ Unless the corresponding [=sub-pseudo-element=]
908+ is explicitly defined to exist in another specification,
909+ pseudo-element selectors are not valid
910+ when compounded to another pseudo-element selector.
911+ So, for example, ''::before::before'' is an invalid selector,
912+ but ''::before::marker'' is valid
913+ (in implementations that support the ''::before::marker'' [=sub-pseudo-element=] ).
914+
890915<h4 id="pseudo-element-structure">
891916Internal Structure</h4>
892917
@@ -3976,6 +4001,7 @@ Changes since the 21 November 2018 Working Draft</h3>
39764001 <ul>
39774002 <li> Removed the Selector profiles, marked '':has()'' as optional and at-risk instead.
39784003 (<a href="https://github.com/w3c/csswg-drafts/issues/3925">Issue 3925</a> )
4004+ <li> Added [[#sub-pseudo-elements]] to define [=sub-pseudo-elements=] and related terminology.
39794005 </ul>
39804006
39814007<h3 id="changes-2018-02">
0 commit comments