- From: Romain Menke via GitHub <sysbot+gh@w3.org>
- Date: Sun, 26 Feb 2023 22:00:25 +0000
- To: public-css-archive@w3.org
romainmenke has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-color-5] relative color syntax doesn't specify how to compute channel values == _I might be overlooking something and I am not sure how to explain the issue fully. So apologies in advance if this is a bit vague._ ---- I think there are a few things that are a bit hand-wavy in the current specification. ```css #a { color: rgb(from rgb(0 0 0 / 50%) alpha 128 128 / 0.1); } ``` Safari TP and WPT seem to agree that this is : `rgba(128, 128, 128, 0.1)` Somehow the alpha value of `50%` or `0.5` got converted to `128`. This makes sense if you consider that `50%` of `255` is `128`. But I don't think the specification mentions the need for this conversion anywhere. https://drafts.csswg.org/css-color-5/#relative-RGB > alpha is a [`<number>`](https://drafts.csswg.org/css-values-4/#number-value) that corresponds to the [origin color’s](https://drafts.csswg.org/css-color-5/#origin-color) alpha transparency So `alpha` should be `0.5`, not `128`. ----- ```css #b { color: hsl(from rgb(128 128 128 / 50%) alpha 50% 50% / 0.1); } #c { color: hsl(0.5 50% 50% / 0.1); } ``` `#b` seems to be `rgb(0, 0, 0)` but the reason isn't clear. `hsl` should be able to process hue values of type `<number>`. `#c` has the same number value as I would expect `alpha` to have and it works perfectly fine : `rgba(191, 65, 64, 0.1)`. ----- What seems to be missing is a conversion table for when channel keywords are used in other channels. - using `alpha` in a `r`, `g`, `b`, `h`, ... - using `r`, `g`, ... in `alpha` - ... Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8499 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Sunday, 26 February 2023 22:00:27 UTC