@@ -1362,7 +1362,7 @@ Security Considerations for Highlighting</h3>
1362
1362
the styling of such highlighted segments.
1363
1363
1364
1364
<h2 id="treelike">
1365
- Tree-Abiding and Part-Like Pseudo-elements</h2>
1365
+ Tree-Abiding Pseudo-elements</h2>
1366
1366
1367
1367
<dfn export lt="tree-abiding|tree-abiding pseudo-element">Tree-abiding pseudo-elements</dfn> always fit within the box tree.
1368
1368
They <a lt="inheritance">inherit</a> any inheritable properties from their <a>originating element</a> ;
@@ -1373,52 +1373,6 @@ Tree-Abiding and Part-Like Pseudo-elements</h2>
1373
1373
parsing/tree-abiding-pseudo-elements.html
1374
1374
</wpt>
1375
1375
1376
- <h3 id=partlike>
1377
- Part-Like Pseudo-Elements</h3>
1378
-
1379
- A subset of [=tree-abiding pseudo-elements=] ,
1380
- the <dfn export lt="part-like|part-like pseudo-element">part-like pseudo-elements</dfn> ,
1381
- have slightly stronger requirements:
1382
- they act as if they have a well-defined location in the document tree.
1383
- This enables them to interact with some other platform features
1384
- as if they were real elements
1385
- (and, in fact, they often <em> are</em> real elements,
1386
- such as in the case of ''::part()'' ,
1387
- which simply aren't accessible in the current tree).
1388
-
1389
- [=Part-like pseudo-elements=] inherit from their [=originating element=] by default,
1390
- like a standard [=tree-abiding pseudo-element=] ,
1391
- but can declare that they inherit from another element instead
1392
- (possibly not accessible).
1393
- (For example, ''::part()'' inherits from
1394
- the parent of the element it represents in the shadow tree.)
1395
-
1396
- All pseudo-classes and pseudo-elements
1397
- are syntactically allowed after a [=part-like pseudo-element=] ,
1398
- such as ''x-button::part(label):hover''
1399
- or ''x-button::part(label)::before'' ,
1400
- but some are disallowed from matching:
1401
-
1402
- * The [=structural pseudo-classes=] ,
1403
- '':has()'' pseudo-class,
1404
- '':scope'' pseudo-class,
1405
- and '':host'' /'':host()'' /'':host-context()'' pseudo-classes
1406
- never match.
1407
- * ''::part()'' never matches. (Other [=part-like pseudo-elements=] can, however.)
1408
-
1409
- A [=part-like pseudo-element=] can define itself as representing a real element
1410
- (possibly not accessible in the current tree).
1411
- If it does so, all pseudo-classes and pseudo-elements match according to that element,
1412
- if not disallowed by the previous restrictions.
1413
- If it does not do so,
1414
- it must define which pseudo-classes it matches and when
1415
- (besides the pseudo-classes defined to work on all pseudo-elements,
1416
- or all [=tree-abiding pseudo-elements=] ).
1417
-
1418
- Unless otherwise specified,
1419
- any CSS property that applies to elements
1420
- applies to [=part-like pseudo-elements=] .
1421
-
1422
1376
<h3 id="generated-content">
1423
1377
Generated Content Pseudo-elements: ''::before'' and ''::after''</h3>
1424
1378
@@ -1624,6 +1578,53 @@ Placeholder Input: the ''::placeholder'' pseudo-element</h3>
1624
1578
It's not clear how this should work, but it may be worth doing.
1625
1579
See <a href="https://github.com/w3c/csswg-drafts/issues/2517">Issue 2417</a> .
1626
1580
1581
+ <h2 id=partlike>
1582
+ Part-Like Pseudo-Elements</h2>
1583
+
1584
+ A subset of [=tree-abiding pseudo-elements=] ,
1585
+ the <dfn export lt="part-like|part-like pseudo-element">part-like pseudo-elements</dfn> ,
1586
+ have slightly stronger requirements:
1587
+ they act as if they have a well-defined location in the document tree.
1588
+ This enables them to interact with some other platform features
1589
+ as if they were real elements
1590
+ (and, in fact, they often <em> are</em> real elements,
1591
+ such as in the case of ''::part()'' ,
1592
+ which simply aren't accessible in the current tree).
1593
+
1594
+ [=Part-like pseudo-elements=] inherit from their [=originating element=] by default,
1595
+ like a standard [=tree-abiding pseudo-element=] ,
1596
+ but can declare that they inherit from another element instead
1597
+ (possibly not accessible).
1598
+ (For example, ''::part()'' inherits from
1599
+ the parent of the element it represents in the shadow tree.)
1600
+
1601
+ All pseudo-classes and pseudo-elements
1602
+ are syntactically allowed after a [=part-like pseudo-element=] ,
1603
+ such as ''x-button::part(label):hover''
1604
+ or ''x-button::part(label)::before'' ,
1605
+ but some are disallowed from matching:
1606
+
1607
+ * The [=structural pseudo-classes=] ,
1608
+ '':has()'' pseudo-class,
1609
+ '':scope'' pseudo-class,
1610
+ and '':host'' /'':host()'' /'':host-context()'' pseudo-classes
1611
+ never match.
1612
+ * ''::part()'' never matches. (Other [=part-like pseudo-elements=] can, however.)
1613
+
1614
+ A [=part-like pseudo-element=] can define itself as representing a real element
1615
+ (possibly not accessible in the current tree).
1616
+ If it does so, all pseudo-classes and pseudo-elements match according to that element,
1617
+ if not disallowed by the previous restrictions.
1618
+ If it does not do so,
1619
+ it must define which pseudo-classes it matches and when
1620
+ (besides the pseudo-classes defined to work on all pseudo-elements,
1621
+ or all [=tree-abiding pseudo-elements=] ).
1622
+
1623
+ Unless otherwise specified,
1624
+ any CSS property that applies to elements
1625
+ applies to [=part-like pseudo-elements=] .
1626
+
1627
+
1627
1628
<h3 id="file-selector-button-pseudo">
1628
1629
File Selector Button: the ''::file-selector-button'' pseudo-element</h3>
1629
1630
0 commit comments