Skip to content

[css-transforms-1][css-transforms] 3D considerations & module levels #9415

@cvrebert

Description

@cvrebert

https://drafts.csswg.org/css-transforms/#interpolation-of-transform-functions

CSS Transforms Module Level 1

10. Interpolation of primitives and derived transform functions

[...]
If both transform functions share a primitive in the two-dimensional space, both transform functions get converted to the two-dimensional primitive. If one or both transform functions are three-dimensional transform functions, the common three-dimensional primitive is used.

In this example a two-dimensional transform function gets animated to a three-dimensional transform function. The common primitive is translate3d().

EXAMPLE 15
[...]
First translateX(100px) gets converted to translate3d(100px, 0, 0) and translateZ(100px) to translate3d(0, 0, 100px) respectively. Then both converted transform functions get interpolated numerically.


https://drafts.csswg.org/css-transforms/#WD20171130

Changes Since the 30 November 2017 Working Draft

[...]

  • Remove any reference of 3D transformations of transform function definitions.

A. Given the aforementioned changelog bullet, it seems incongruous that this section of the spec is mentioning 3D at all. I note that the only functions which Level 1 defines are 2D transform functions (https://drafts.csswg.org/css-transforms/#two-d-transform-functions ).

B. I am not intimately familiar with the CSSWG/W3C policy on the admissibility of references between spec levels, but it seems odd that Level 1 is explicitly referencing and hyperlinking to the Level 2-only translate3d function in the above-quoted section.

C. In the event that A & B aren't problematic, then for the sake of consistency and clarity, translateZ, which is likewise from Level 2 but mentioned in the quoted section of Level 1, should be properly hyperlinked/referenced.

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