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.