- From: Lea Verou via GitHub <noreply@w3.org>
- Date: Thu, 04 Dec 2025 15:01:50 +0000
- To: public-css-archive@w3.org
I don't personally find cascading rules confusing, that's the whole premise of the language 😀 But @andruud does make a good point that
> Yeah, most at-rules that define a name (in the prelude) fully overwrite the previous definition. I don't think we should deviate from this.
What if we could nest them?
```css
@properties {
syntax: "<length>";
inherits: false;
initial-value: 2147483647px;
names: --width, --height;
@property --depth { /* inherits descriptors from outer context */
initial-value: 0px;
}
}
```
or even:
```css
@property --width, --height, --depth {
syntax: "<length>";
inherits: false;
initial-value: 2147483647px;
@property --depth { /* overrides */
initial-value: 0px;
}
}
```
----
In any case, we should definitely resolve on that `#` for whole regular `@property` rules which seems largely uncontroversial. That's a quick win that will already improve things tremendously for the many cases where the definition is exactly the same for a large number of properties. Then we can spend more time figuring out how to make it easier to define multiple properties that only differ in 1-2 descriptors.
--
GitHub Notification of comment by LeaVerou
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7523#issuecomment-3612678756 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 4 December 2025 15:01:51 UTC