Skip to content

Commit b0f85b2

Browse files
authored
[css-cascade-6] Remove selector scoping notation (w3c#8460)
1 parent 934947f commit b0f85b2

1 file changed

Lines changed: 3 additions & 69 deletions

File tree

css-cascade-6/Overview.bs

Lines changed: 3 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -526,75 +526,6 @@ Scoped Descendant Combinator</h4>
526526
</pre>
527527
</div>
528528

529-
Note: Most simple scoping relationships can be represented with this syntax,
530-
rather than the more complex [=selector scoping notation=] defined below.
531-
532-
<h4 id='selector-scoping'>
533-
Selector Scoping Notation</h4>
534-
535-
The <dfn>selector scoping notation</dfn>
536-
allows [=selectors=] to be scoped
537-
to a subtree of the document,
538-
and allows the possibility of excluding nested subtrees.
539-
It is prepended to the selector or selector list,
540-
and its syntax is as follows:
541-
542-
<pre class='prod'>
543-
<dfn><<selector-scope>></dfn> = ( <<scope-start>> [/ <<scope-end>>]? )
544-
</pre>
545-
546-
If, after parsing, <<scope-start>> is an empty list,
547-
the selector is valid but matches nothing.
548-
Otherwise, the selector matches any element
549-
that is within the [=scope=] described
550-
by the given <<scope-start>> and <<scope-end>> selectors.
551-
552-
<div class="note">
553-
The purpose of the [=selector scoping notation=]
554-
is to allow adding [=scoping limits=] to a selector:
555-
556-
<pre class=lang-css>
557-
(.post / .comments) .title { font-size: 2em; }
558-
</pre>
559-
560-
Without any such lower limits,
561-
the [=selector scoping notation=] is similar to existing descendant selectors,
562-
except that the [=scoping root=] can be matched
563-
by the selector as well.
564-
</div>
565-
566-
The specificity of
567-
the most specific [=complex selector=] in <<scope-start>>
568-
is added to the specificity of each such scoped selector.
569-
The specificity of the <<scope-end>> is ignored.
570-
The [=selector scoping notation=] also applies [=weak scoping proximity=]
571-
between the [=scoping root=] and the [=subject=] of the scoped selector.
572-
573-
ISSUE: Should this have the same [=scope proximity=] weighting as ''@scope''
574-
or different [=scope proximity=] weighting
575-
(or no [=scope proximity=] weighting)?
576-
577-
<div class="example">
578-
For example,
579-
these three selectors will all select the same elements,
580-
with the same specificity:
581-
582-
<pre class=lang-css>
583-
(.ancestor) .child { color: darkmagenta; }
584-
.child:is(.ancestor, .ancestor *) { color: darkmagenta; }
585-
.ancestor.child, .ancestor .child { color: darkmagenta; }
586-
</pre>
587-
588-
However the first rule will win,
589-
because it also applies [=weak scoping proximity=].
590-
</div>
591-
592-
ISSUE: How does this interact with [[CSS-NESTING-1]]?
593-
594-
ISSUE: This notation was added in order to allow scoping limits
595-
to be applied within <code>querySelector()</code>.
596-
Is this something we want to have?
597-
598529
<h3 id="preshint">
599530
Precedence of Non-CSS Presentational Hints</h3>
600531

@@ -622,6 +553,9 @@ Changes since the 21 December 2021 First Public Working Draft</h3>
622553
Significant changes since the
623554
<a href="https://www.w3.org/TR/2021/WD-css-cascade-6-20211221/">21 December 2021 First Public Working Draft</a> include:
624555

556+
* Removed selector scoping notation.
557+
(<a href="https://github.com/w3c/csswg-drafts/issues/7709">Issue 7709</a>)
558+
625559
* [=Scoping limit=] elements are excluded from the resulting [=scope=].
626560
(<a href="https://github.com/w3c/csswg-drafts/issues/6577">Issue 6577</a>)
627561

0 commit comments

Comments
 (0)