- From: Peter Linss via GitHub <sysbot+gh@w3.org>
- Date: Thu, 27 Oct 2022 19:51:59 +0000
- To: public-css-archive@w3.org
plinss has just created a new issue for https://github.com/w3c/csswg-drafts:
== [css-nesting-1] Yet another nesting proposal ==
The fundamental problem with allowing nested style rules is disambiguating properties from nested rules.
So far, every proposal has focused on taking a regular style rule and creating a syntax to identify selectors within it. What if we turned that around?
My proposal is to have an at-rule that has a selector, and contains nothing but style rules (and other at-rules), whose selectors are relative to the at-rule. We can then have a special block within the at-rule to hold properties that apply to the nesting root,
E.g.
```
@nest foo {
& { color: blue; }
bar { color: red; }
}
```
would be equivalent to:
```
foo { color: blue; }
foo bar { color: red; }
```
You could also, of course nest the at-rules:
```
@nest foo {
& { color: blue; }
@nest bar {
& { color: red; }
baz { color: green; }
}
}
```
would be equivalent to:
```
foo { color: blue; }
foo bar { color: red; }
foo bar baz { color: green; }
```
It may also be possible to omit the `&` and just use a bare `{}` block within the at-rule to hold properties.
This requires no changes to existing parsing, OM, or behavioral rules and has a straightforward OM for the new at-rule.
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7970 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 27 October 2022 19:52:01 UTC