Re: [csswg-drafts] [css-properties-values-api] Shorthand for custom property declaration (#7523)

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