- From: Devon Govett via GitHub <sysbot+gh@w3.org>
- Date: Sun, 17 Sep 2023 21:24:51 +0000
- To: public-css-archive@w3.org
devongovett has just created a new issue for https://github.com/w3c/csswg-drafts:
== [css-nesting] [css-cascade-6] Clarify behavior of `@scope` with nesting ==
The CSS nesting spec has the following [example](https://drafts.csswg.org/css-nesting/#nesting-at-scope):
```css
.parent {
color: blue;
@scope (& > .scope) to (& .limit) {
& .content {
color: red;
}
}
}
```
which it says is equivalent to:
```css
.parent { color: blue; }
@scope (.parent > .scope) to (.parent > .scope .limit) {
.parent > .scope .content {
color: red;
}
}
```
However, according to my reading of css-cascade-6, this seems slightly incorrect.
> By default, selectors in a [scoped style rule](https://drafts.csswg.org/css-cascade-6/#scoped-style-rules) are [relative selectors](https://drafts.csswg.org/selectors-4/#relative-selector), with the [scoping root](https://drafts.csswg.org/selectors-4/#scoping-root) and [descendant combinator](https://drafts.csswg.org/selectors-4/#descendant-combinator) implied at the start.
Following this, it would seem that showing `.parent > .scope` in the nested style rule would be incorrect and redundant, since the rule would already have an implicit `:scope ` prefix. Would it be more correct to show this in the example instead:
```css
.parent { color: blue; }
@scope (.parent > .scope) to (.parent > .scope .limit) {
:scope .content {
color: red;
}
}
```
where `:scope` is equal to `.parent > .scope` as defined in the rule's `<scope-start>`?
Maybe I'm reading it incorrectly. It's sorta confusing that this is split between two different specifications.
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9370 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Sunday, 17 September 2023 21:24:53 UTC