- From: Brian Birtles <bbirtles@mozilla.com>
- Date: Mon, 9 May 2016 11:13:21 +0900
- To: Simon Fraser <smfr@me.com>, www-style list <www-style@w3.org>
On 2016/05/05 4:11, Simon Fraser wrote:
> A bug was filed on WebKit showing incorrect behavior in an animation
> test case[1] which repeats the same keyframes in comma-separated
> animation-name, like:
>
> animation-name: a, b, a, b;
> animation-duration: 1s, 1s, 1s, 1s;
> animation-delay: 0s, 2s, 4s, 6s;
> animation-fill-mode: forwards, forwards, forwards, forwards;
>
> @keyframes a {...}
> @keyframes b {...}
>
> I don't think the spec[2] has enough information to describe whether
> this should work in the static case, and what happens in the face of a
> change in the value.
>
> In the example above, it's clear what the author wants, and it works in
> Chrome and FF. However, what happens when the value of animation-name
> changes? For example, if it changed to "a, a, b, b" in the example
> above, which animations would keep running?
There is an open issue for this[1] and some discussion from TPAC last
year.[2][3]
The proposal is that when we come to perform updates we compare the
existing and updated 'animation-name' lists and match up the names
starting from the end of each list.
When we get a match we update the existing animation and then no longer
consider that existing animation for subsequent matches.
So, in the above case you'd have:
#1: a 1s 0s forwards
#2: b 1s 2s forwards
#3: a 1s 4s forwards
#4: b 1s 6s forwards
Setting animation-name: a, a, b, b would give you:
#1: a 1s 0s forwards
#3: a 1s 2s forwards
#2: b 1s 4s forwards
#4: b 1s 6s forwards
The numbers here represent the object identities of the animations. In
this case no new animations are generated here; the existing animations
are updated. I made a codepen that demonstrates that behavior in Firefox
Nightly/DevEdition using the getAnimations() API.[4]
Best regards,
Brian
[1] https://github.com/w3c/csswg-drafts/issues/69
[2] https://lists.w3.org/Archives/Public/www-style/2015Oct/0226.html item 5
[3] https://lists.w3.org/Archives/Public/www-style/2015Nov/0308.html
[4] http://codepen.io/anon/pen/VagQzV
Received on Monday, 9 May 2016 03:06:25 UTC