W3C home > Mailing lists > Public > www-style@w3.org > July 2014

[css-transforms][css-transitions] transform interpolation and starting of transitions

From: L. David Baron <dbaron@dbaron.org>
Date: Tue, 1 Jul 2014 17:21:34 -0700
To: www-style@w3.org
Message-ID: <20140702002134.GA26687@crum.dbaron.org>
This issue is vaguely related to the issue I raised in
http://lists.w3.org/Archives/Public/public-fx/2014JanMar/0076.html

The transitions spec (sections 17-20) at
http://dev.w3.org/csswg/css-transforms/#interpolation-of-transforms ,
as I understand it, says that if you interpolate between:
  (A) transform: translateX(0)
and
  (B) transform: translate3d(0, 0, 0)
you get
  (C) transform: translate3d(0, 0, 0)
at all points during the interpolation.  This is reasonable.

The problem here is that (A) and (B) are defined to be different
computed values, and therefore a change between the two of them
triggers a transition.  I believe 'transform' is the only CSS
property where interpolation of 100% * A + 0% * B is not equal (in
computed value equality) to A, and I think this is an invariant that
we shouldn't break.

I think it would be best if the normalization steps involved in
making things match for interpolation purposes were part of the
process of finding the computed value.  I think this would help the
transitions spec and other things that expect reasonable behavior
for computed values.

If we don't fix this in transforms, though, I think we should change
the transitions spec to perform an interpolation step before
comparing computed values to determine if a transition should be
started.

-David

-- 
𝄞   L. David Baron                         http://dbaron.org/   𝄂
𝄢   Mozilla                          https://www.mozilla.org/   𝄂
             Before I built a wall I'd ask to know
             What I was walling in or walling out,
             And to whom I was like to give offense.
               - Robert Frost, Mending Wall (1914)

Received on Wednesday, 2 July 2014 00:21:59 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:39:23 UTC