- From: Lea Verou via GitHub <sysbot+gh@w3.org>
- Date: Mon, 10 Jun 2024 11:22:43 +0000
- To: public-css-archive@w3.org
I had a chat with @andruud a few days ago, and he said that this proposed design would be fairly easy to implement. Grammar: ``` <if()> = if( <container-query>, [<declaration-value>]{1, 2} ) ``` - Links: - [`<container-query>`](https://drafts.csswg.org/css-contain-3/#typedef-container-query) - [`<declaration-value>`](https://drafts.csswg.org/css-syntax-3/#typedef-declaration-value) - Values can be nested to produce multiple branches - If a third argument is not provided, it becomes equivalent to an empty token stream I did not discuss this but a nice DX improvement could be this grammar instead: ``` <if()> = if( [ <container-query>, [<declaration-value>]{2} ]#{0, }, <container-query>, [<declaration-value>]{1, 2} ) ``` which would allow for multiple conditions more easily. Compare: <table> <thead> <tr> <th>Grammar 1</th> <th>Grammar 2</th> </tr> </thead> <tbody> <tr> <td> ```css background-color: if( style(--variant: success), var(--color-success-60), if(style(--variant: warning), var(--color-warning-60), if(style(--variant: danger), var(--color-danger-60), if(style(--variant: primary), var(--color-primary)) ), ) ); ``` </td> <td> ```css background-color: if( style(--variant: success), var(--color-success-60), style(--variant: warning), var(--color-warning-60), style(--variant: danger), var(--color-danger-60), style(--variant: primary), var(--color-primary) ); ``` </td> </tr> </tbody> </table> Behavior: Any invalid value would make the property IACVT. -- GitHub Notification of comment by LeaVerou Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10064#issuecomment-2158076462 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Monday, 10 June 2024 11:22:45 UTC