Re: [csswg-drafts] [css-values-5] How to determine the type of `<progress>` in `calc-mix()`? (#10770)

Sorry, I missed that `<percentage>` should actually have been replaced with `<percentage-token>` in the `<progress>` production rule, as explained in the detailed definition appearing below the production rule:

  > `<percentage-token>` [...]
  >
  > Note: This only allows literal percentages, like `15%`; calculations like `calc(100% / 7)` will not work [...].

But this restriction seems to be motivated solely by internal constraints that authors would not understand it, imo.

Would it not be possible to say that `<percentage>` always resolves to `[percentage → 1]` as a term of a math function replacing `<progress>`?

For example:

  - `border-width: calc-mix(calc(50%), 0px, 200px))` would resolve to `100px`
  - `border-width: calc-mix(calc(200% * progress(50% from 0px to 200px)), 0px, 200px)` would be invalid
  - `width: calc-mix(calc(200% * progress(50% from 0px to 200px)), 0px, 200px)` would resolve to `100px` when `1%` is `1px`

And to reiterate, I think the type percent hint of `container-progress()`/`media-progress()` should always be ignored (but there is no size/media feature accepting percentages), but this might deserves a separate issue.

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


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

Received on Friday, 6 September 2024 07:01:36 UTC