From 1451af1b751607bc6f59220ea400a6dcb1c2075c Mon Sep 17 00:00:00 2001
From: Anders Hartvoll Ruud
- Implementations must also maintain a set of - completed transitions, - each of which - (like running transitions) - applies to a specific element and non-shorthand property. - - This specification maintains the invariant that - there is never both a running transition and - a completed transition for the same property and element. - -
- -- If an element is no longer in the document, - implementations must cancel any running transitions - on it and remove transitions on it from the - completed transitions. -
- -- This set of completed transitions - needs to be maintained - in order to prevent - transitions from repeating themselves in certain cases, - i.e., to maintain the invariant - that this specification tries to maintain - that unrelated style changes do not trigger transitions. -
- -- An example where maintaining the set of completed transitions - is necessary would be a transition on - an inherited property, - where the parent specifies a transition of that property for - a longer duration (say, ''transition: 4s text-indent'') - and a child element that inherits the parent's value specifies - a transition of the same property for a shorter duration - (say, ''transition: 1s text-indent''). - Without the maintenance of this set of completed transitions, - implementations could start additional transitions on the child - after the initial 1 second transition on the child completes. -
- -Various things can cause the computed values of properties on an element to change. @@ -540,26 +492,15 @@ Starting of transitions {#starting} then transitions are not started for that element in that style change event. Otherwise, + define the base style as + the computed values of all properties on the element + as they would be without any declarations added to the + "Animation" or "Transition" [[css-cascade-3#cascading-origins|origins]], + inheriting from the base style of the parent; define the before-change style as - the computed values of all properties on the element as of - the previous style change event, - except with any styles derived from declarative - animations such as CSS Transitions, CSS Animations - ([[CSS3-ANIMATIONS]]), - and SMIL Animations ([[SMIL-ANIMATION]], [[SVG11]]) - updated to the current time. - Likewise, define the after-change style as - the computed values of all properties - on the element based on the information - known at the start of that style change event, - but using the computed values of the 'animation-*' properties from the - before-change style, - excluding any styles from CSS Transitions in the computation, - and inheriting from - the after-change style of the parent. - Note that this means the after-change style does not differ from - the before-change style due to newly created or canceled CSS - Animations. + the base style> as of the previous style change event; and + define the after-change style as + the base style> as of the current style change event.