- From: Lea Verou via GitHub <sysbot+gh@w3.org>
- Date: Thu, 12 Oct 2023 14:17:27 +0000
- To: public-css-archive@w3.org
Isn't this basically "`var()` for any property"? That is a common request, and avoiding circularity is more complex than it seems (see [this reply](https://github.com/w3c/csswg-drafts/issues/5729#issuecomment-736740685) by @tabatkins ). Coincidentally, I posted a proposal a few days ago to reduce implementation complexity: https://github.com/w3c/csswg-drafts/issues/9454 I discussed it privately with @tabatkins who said it certainly avoids some of the issues, but is still a lot of work, and is unconvinced about the value-add since authors can always use variables. Note that your code above would not work properly even if `self()` was a thing. You need to add: ```css @property --nested-radius { syntax: "<length>+"; /* <length>{1,4} not currently supported */ inherits: true; initial-value: 0; } ``` This will make the lengths actually resolve and get passed down as lengths. Right now they just get inherited as tokens, and interpreted on the point of usage, so `self()` will refer to child, and this be circular. However, your code as specified doesn't actually *need* `self()` to be a thing. Since you're only referencing parent properties, [`inherit()`](https://github.com/w3c/csswg-drafts/issues/2864) would work just fine, and it's already accepted by the WG (spec pending, though L1 will just be custom properties). Solving the use case properly *would* require `self()`/`var()`, but only to take child margins into account. -- GitHub Notification of comment by LeaVerou Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9459#issuecomment-1759699817 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 12 October 2023 14:17:29 UTC