- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Mon, 7 Oct 2013 16:36:14 -0700
- To: Ralph Thomas <ralpht@gmail.com>
- Cc: www-style list <www-style@w3.org>
On Mon, Oct 7, 2013 at 4:24 PM, Ralph Thomas <ralpht@gmail.com> wrote: > Hi www-style, > > I recently added an optimization to WebKit to not perform a full > style recalc when inserting a @keyframes rule[1], which raised the > question from Simon Fraser: > > "If an element has: -webkit-animation-name: foo and you insert > @-webkit-keyframes foo {...}, does the animation start?" > > WebKit does not start an animation in this case (and didn't prior to > my change), but Firefox does. The CSS 3 Animations spec doesn't > directly address the issue, but does say: > > "If the name does not match any keyframe at-rule, there are no > properties to be animated and the animation will not execute." > > So which is the correct behavior, and can we amend the spec to make > this explicit? Yes, an animation should start. CSS is declarative, and doesn't have any notion of time (except where absolutely necessary, like defining when precisely an animation/transition starts). As soon as an animation-name property refers to a valid @keyframes rule, the animation must start. Anything else is just introducing horrible time-ordering requirements into a language that doesn't actually *have* any time-ordering requirements. This is identical to the behavior of font-family and @font-face. ~TJ
Received on Monday, 7 October 2013 23:37:01 UTC