diff --git a/css-transitions-1/Overview.bs b/css-transitions-1/Overview.bs index 964bfffa3789..73187fa481fd 100644 --- a/css-transitions-1/Overview.bs +++ b/css-transitions-1/Overview.bs @@ -432,54 +432,6 @@ Starting of transitions {#starting}

-

- 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.

@@ -652,12 +593,6 @@ Starting of transitions {#starting} the after-change style for that property, and the values for the property are [=transitionable=], -
  • - the element does not have a completed transition - for the property - or the end value of the completed transition - is different from the after-change style for the property, -
  • there is a matching transition-property value, and
  • @@ -666,8 +601,6 @@ Starting of transitions {#starting} then implementations must - remove the completed transition (if present) from the set - of completed transitions and start a transition whose:
  • - Otherwise, - if the element has a completed transition for the property - and the end value of the completed transition - is different from the after-change style for the property, - then implementations must - remove the completed transition from the set of - completed transitions. -
  • -
  • - If the element has a running transition or - completed transition for the property, + If the element has a running transition for the property, and there is not a matching transition-property value, then implementations must - cancel the running transition - or remove the completed transition from the set of - completed transitions. + cancel the running transition.
  • If the element has a running transition for the property, @@ -1060,15 +981,14 @@ Completion of transitions {#complete} but prior to the first style change event whose time is equal to or after their end time. When a transition completes, - implementations must move + implementations must remove all transitions that complete at that time from the set of running transitions - to the set of completed transitions and then fire the events for those completions. (Note that doing otherwise, that is, - firing some of the events before doing all of the moving - from running transitions to completed transitions, + firing some of the events before removing all completed transitions + from running transitions could allow a style change event to happen without the necessary transitions completing,