This specification extends the CSS Transitions [[CSS3-TRANSITIONS]]
and CSS Animations [[CSS3-ANIMATIONS]] specifications. It also
clarifies the handling of replaced content [[CSS21]] and
image
content [[CSS3-IMAGES]].
image
valuesHow do you synchronize animations in background images, content attributes etc.? Does it appear in the animation tree? Is this a security problem if it does? Do you create a hidden mediaController and associate everything with that so that at least elements with the same background all have the same frame?
timeline-start
propertytimelineStart
attribute is allowed.
Section 3 of [[!CSS3-TRANSITIONS]] defines the conditions under which a CSS Transition should occur. When these conditions are met, an implementation will behave as if the following objects were constructed via the Web Animation JS API:
WebAnimationFrame
with an offset of 0 and a value of the computed style of property just before the transition occurs.
WebAnimationFrame
with an offset of 1 and a value of the current computed style of property.
WebAnimationFrameList
containing the from frame and to frame.
WebKeyframesAnimationFunction
with a property equal to the property being transitioned, frames set to the frame list, an operation of "replace", an accumulateOperation of "replace", and a pace of undefined.
WebGroupedAnimationFunction
that contains
all of the animation function objects generated in the previous step.
WebTiming
with a iterationDuration equal to the transition-duration, a timingFunction equivalent to transition-timing-function (see section ??), and all other properties left at their default values.
WebAnimation
associating group animation function with animation timing.
WebAnimationInstance
that is equivalent to one constructed by calling animation.animateLive(element)
@keyframes
rules
An @keyframe
rule can be converted to a WebGroupedAnimationFunction
using the following steps:
WebAnimationFrame
with offset equal to
the selector value of the keyframe, value equal to the value of
property within the keyframe, and timingFunction equivalent
to the timing function desribed by the keyframe (if any).
WebAnimationFrame
with an offset of 0, a value equal to the current computed value of property, and a null timingFunction.
WebAnimationFrame
with an offset of 1, a value equal to the current computed value of property, and a null timingFunction.
WebAnimationFrameList
and add each of the constructed WebAnimationFrame
objects to it.
WebKeyframeAnimationFunction
with property equal to the property from the @keyframes rule, frames equal to the constructed WebAnimationFrameList
, and all other values at their defaults.
WebGroupedAnimationFunction
and add each of the constructed WebKeyframeAniamtionFunction
objects to it. This is the resulting WebGroupedAnimationFunction
object.
Section 2 of the [[!CSS3-ANIMATIONS]] specification defines the conditions under which a CSS Animation should occur. When these conditions are met, an implementation will behave as if the following objects were constructed via the Web Animation JS API:
@keyframes
declaration referenced by animation-name as described in .
WebTiming
with a iterationDuration equal to the animation-duration, a timingFunction equivalent to animation-timing-function (see ), and all other properties left at their default values.
Put this object in a par group.
WebAnimation
associating animation function with animation timing.
WebAnimationInstance
that is equivalent to one constructed by calling animation.animateLive(element)
Can't do this until we've defined the interface for timing functions in the main spec.