[csswg-drafts] [css-images-4][css-shapes-1] Elliptical shape defined with a single `<length-percentage>` (#9730)

cdoublev has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-images-4][css-shapes-1] Elliptical shape defined with a single `<length-percentage>` ==
[In CSS Images 3](https://drafts.csswg.org/css-images-3/#radial-gradient-syntax), a non-normative note restricts the syntax of `radial-gradient()`: `ellipse` can be used only with a single `<radial-extent>` keyword or two `<length-percentage>`s. In prose, this restriction is not very clear: one may think it could use a single `<length>`, but browsers actually do not allow this, and implements the syntax defined in the non-normative note.

[CSS Images 4](https://drafts.csswg.org/css-images-4/#radial-size) now seems to allow using two `<radial-extent>` keywords or a single `<length-percentage>` for an elliptical `radial-gradient()` or for `ellipse()` ([CSS Shapes](https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-ellipse)).

Is this an oversight? If so, I suggest to hardcode these restrictions in the syntax:

```
<circle()> = circle( <radial-size>? [ at <position> ]?)
<ellipse()> = ellipse( [ <radial-size>{2} ]? [ at <position> ]?)>
<radial-gradient-syntax> = <radial-shape>? [ at <position> ]? , <color-stop-list>
<radial-shape> = [ circle || <radial-size> ] | [ ellipse || <radial-size>{2} ]
<radial-size> = <radial-extent> | <length-percentage [0,∞]>
```

---

If this is deliberate, can you please clarify how to serialize these values in `radial-gradient()`?

  - `circle 1px`: as is or `1px`?
  - `ellipse 1px 1px`: `ellipse 1px`, `1px 1px`, or `1px`?

I suggest to remove `ellipse` and always serialize two component values for an elliptical shape, except when both component values are the same `<radial-extent>`:

  - `ellipse 1px` as `1px 1px`
  - `ellipse closest-corner closest-corner` as `closest-corner`
  - `ellipse farthest-corner farthest-corner` is entirely omitted

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9730 using your GitHub account


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

Received on Wednesday, 20 December 2023 11:04:31 UTC