Re: [csswg-drafts] [css-conditional-3] Define `<declaration>` (#8795)

Defining `<declaration>` with `<ident> : <declaration-value> ['!' important]?` would make sense to me...

... with a rule in prose making it invalid when `<declaration-value>` includes a positioned `{}`-block whereas `<ident>` does not represent a custom property name, and assuming that `<declaration-value>` would accept zero or more component values (#11296).

<details>
  <summary>Here are some invalid/valid cases with these restrictions:</summary>

| Input | Valid |
| ---- | ---- |
| `--custom: "bad \n string"` | ❌ |
| `--custom: url(bad url)` | ❌ |
| `--custom: ]` | ❌ |
| `--custom: )` | ❌ |
| `--custom: }` | ❌ |
| `--custom: !` | ❌ |
| `color: var(--custom) {}` | ❌ |
| `color: {} var(--custom)` | ❌ |
| `color: ` | ❌ (maybe?) |
| `unknown: var(1)` | ✔️ (maybe?) |
| `unknown: {}` | ✔️ |
| `--custom: {} positioned {}` | ✔️ |
| `--custom: ` | ✔️ |

</details>

In my opinion, it should not embed more, except maybe for a standard property/descriptor value declared with an omitted value.

`supports()` should probably take `<any-value>` as a fallback, so that both `supports((invalid))` and `supports(invalid)` could be consistently valid. Then `<declaration>` could be alternatively defined as representing any valid declaration in the context...

-- 
GitHub Notification of comment by cdoublev
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8795#issuecomment-2514717641 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:27:14 UTC