You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During code reviews for implementing interpolation of <transform-function> and <transform-list>, a question came up about none and also the compatibility of <transform-function> and <transform-list>.
My conclusion, which is matching Safari's implementation is that none is not magical, so that for a syntax none|<transform-list> or none|<transform-function>, none is not a transform value that can be interpolated to or from if the other end point is a <transform-list> (or function).
The other part is if you have a syntax <transform-function>|<transform-list>, you cannot interpolate between a single function and a list of functions. However, if you flip the syntax to <transform-list>|<transform-function>, the values will always match the first part, and they will interpolate. This matches the implementation in Safari and the in-progress implementation in Chrome.
This issue is to confirm my interpretation is correct. What can be confusing is that the spec says <transform-function> and <transform-list> should interpolate as the standard transform property.
Agreed that value none should be animated discretely for syntaxes none|<transform-list> or none|<transform-function>, but I think none should be interpolated for syntaxes <transform-list>|none or <transform-function>|none.
For syntaxes specified with the | combinator, the computed value is given by applying the computed-value rules for the first clause that matches the value.
When translate, rotate or scale are animating or transitioning, and the from value or to value (but not both) is none, the value none is replaced by the equivalent identity value (0px for translate, 0deg for rotate, 1 for scale).
But yeah, it should still only animate discretely.
During code reviews for implementing interpolation of
<transform-function>
and<transform-list>
, a question came up aboutnone
and also the compatibility of<transform-function>
and<transform-list>
.My conclusion, which is matching Safari's implementation is that
none
is not magical, so that for a syntaxnone|<transform-list>
ornone|<transform-function>
,none
is not a transform value that can be interpolated to or from if the other end point is a<transform-list>
(or function).The other part is if you have a syntax
<transform-function>|<transform-list>
, you cannot interpolate between a single function and a list of functions. However, if you flip the syntax to<transform-list>|<transform-function>
, the values will always match the first part, and they will interpolate. This matches the implementation in Safari and the in-progress implementation in Chrome.This issue is to confirm my interpretation is correct. What can be confusing is that the spec says
<transform-function>
and<transform-list>
should interpolate as the standard transform property.@tabatkins @andruud @kevers-google
The text was updated successfully, but these errors were encountered: