Skip to content

[css-masking] basic-shape interpolation not interoperable with omitted positions. #12339

Open
@emilio

Description

@emilio

TLDR:

  • In Gecko and WebKit, clip-path: circle(0%) and circle(0% at center) is not interpolable, but it is in Chrome.
  • This is because, for offset-path, an omitted <position> value is different from a non-omitted one, see this, which is for ray() but also applies to circle() and ellipse(), afaict. On clip-path, an omitted position will always be resolved to center, but at used value time.

In Blink, it seems they allow interpolating this for clip-path (haven't checked if they deal with offset-path correctly yet).

To me, it feels weird that <basic-shape>s would interpolate differently in offset-path and clip-path, specially if they don't e.g. serialize differently (you could argue that clip-path: circle(0% at center) should serialize to clip-path: circle(0%) otherwise).

So I think the WebKit and Firefox behavior is the most reasonable one, but since this is not tested and not super well specified, I think I'd bring it to the group...

cc @BorisChiou @smfr.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions