Re: [csswg-drafts] [css-values-5] Invalidation of `ident()` (#11424)

> In general, CSS functions don't guard against the possibility of some argument being invalid from a nonsense var() substitution.

`attr()` has something like that built in, no? `attr(id type(<color>), blue)` will fall back to `blue` if it turns out that the `id` attribute cannot be parsed into a `<color>`.

> Fair, one can always do a fallback with a separate variable:
> 
> ```css
> --name: ident(--color- var(--color));
> background: var(var(--name, --color-blue));
> ```

I must say that the equivalent below is much easier to read _(I also added the ", knowing they are not really necessary)_:

```css
--color: red;
background: ident("--color-" var(--color), --color-blue);
```

You could also write the following, but that only holds up when the fallback starts with the same prefix

```css
--color: red;
background: ident("--color-" var(--color, blue));
```

```css
--color: red;
background: ident("--color-" var(--color), --default-bg-color);
```


-- 
GitHub Notification of comment by bramus
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/11424#issuecomment-2612943094 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 24 January 2025 16:36:32 UTC