- From: Guillaume via GitHub <sysbot+gh@w3.org>
- Date: Tue, 03 Dec 2024 14:11:41 +0000
- To: public-css-archive@w3.org
cdoublev has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-variables-2] Substitution takes place at the level of CSS component values == The note below [substitute a var()](https://drafts.csswg.org/css-variables-2/#substitute-a-var) says that *"var() substitution takes place **at the level of CSS tokens**"*. If this took place at the token level, the computed value of `color` would be valid in the following example: ```css style { color: var(--custom) ); --custom: rgb(0 0 0; ``` A CSS parser would see `<function-token>` whose `name` is `rgb`, `<number-token>`s and `<whitespace-token>`s, `<)-token>`. Actually, in the example above, the declaration for `color` is invalid in the current version of Chrome and FF (#11315). However, per spec ([step 5](https://drafts.csswg.org/css-syntax-3/#consume-a-declaration)) and as shown by the following example, the declaration value of a custom property is consumed as a list of component values: ```css style { opacity: calc(1 / var(--custom)); --custom: ( 2; ``` The computed value of `opacity` is `0.5` in the current version of Chrome and FF. Since custom property values are consumed as a list of component values, I presume substitutions should not take place in a list of tokens, right? Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/11316 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 3 December 2024 14:11:42 UTC