- From: Brandon McConnell via GitHub <sysbot+gh@w3.org>
- Date: Fri, 20 Oct 2023 23:11:30 +0000
- To: public-css-archive@w3.org
That makes sense. Someone else recommended I include declarative functions as a use case on this ticket, which is why I did. Even without declarative functions in the picture, this code easier to reuse (simple copy & paste, more or less): ```css @property --nested-radius { syntax: "<length> <length> <length> <length>"; inherits: true; initial-value: 0px 0px 0px 0px; } .parent { /* we can implicitly use the below values without needing to explicitly set the border-radius or padding values as CSS custom properties */ --nested-radius: calc(self(border-top-left-radius) - self(padding-top)) calc(self(border-top-right-radius) - self(padding-right)) calc(self(border-bottom-right-radius) - self(padding-bottom)) calc(self(border-bottom-left-radius) - self(padding-left)); } .some-descendant { border-radius: var(--nested-radius); } ``` …than this: ```css @property --nested-radius { syntax: "<length> <length> <length> <length>"; inherits: true; initial-value: 0px 0px 0px 0px; } .parent { /* without self(), we need to explicitly declare padding and border-radius values as CSS custom properties in order to re-use them, meaning these types of values couldn't be provided by any 3rd-party lib without knowing your site and styles, as it can't inherit them */ --br-tl: 30px; --br-tr: 48px; --br-br: 82px; --br-bl: 130px; --p-t: 20px; --p-b: 10px; --p-r: 26px; --p-l: 44px; border-radius: var(--br-tl) var(--br-tr) var(--br-br) var(--br-bl); padding: var(--p-t) var(--p-r) var(--p-b) var(--p-l); --nested-radius: calc(var(--br-tl) - var(--p-t)) calc(var(--br-tr) - var(--p-r)) calc(var(--br-br) - var(--p-b)) calc(var(--br-bl) - var(--p-l)); } .some-descendant { border-radius: var(--nested-radius); } ``` --- I know the circularity may be a huge hurdle to get over if it's even possible. Just trying to further explain the value and use case here. -- GitHub Notification of comment by brandonmcconnell Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9459#issuecomment-1773499511 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Friday, 20 October 2023 23:11:32 UTC