- From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
- Date: Wed, 19 Feb 2025 21:33:14 +0000
- To: public-css-archive@w3.org
@matthew-dean See the spec text at <https://drafts.csswg.org/css-values-5/#component-function-commas>, and the recent telcon minutes in #11500. In short: * In custom functions (and all substitution functions, unless we need to make a compat exception for `var()`), commas separating arguments must (by default) be present *literally*. A `var()` cannot provide multiple arguments for a function unless it's explicitly using the "spread" syntax (which we haven't decided on yet, but similar in spirit to JS's `...` operator). So, it's safe to do `--fonts: Arial, serif;` and then `--font-fn(var(--fonts))` - `--font-fn()` will only receive one argument, and it'll be the value `Arial, serif`. * If you want to write in a literal value with commas in it as a single arg, use the {}-wrapper syntax: `--font-fn({Arial, serif})`. * This behavior is different than how var() and other substitution functions work in *non*-substitution functions. It's still perfectly safe to write `--components: 0, 127, 255; color: rgb(var(--components), .5);`. Non-substitution functions *never* take arguments containing commas, almost by definition, so that's generally safe - subbing in a var with commas *must* be intended to provide multiple arguments. -- GitHub Notification of comment by tabatkins Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9350#issuecomment-2669808805 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 19 February 2025 21:33:15 UTC