1.1 --- a/css-transitions/Overview.src.html Tue Sep 10 11:12:22 2013 +0200 1.2 +++ b/css-transitions/Overview.src.html Tue Sep 10 11:30:26 2013 +0200 1.3 @@ -912,8 +912,79 @@ 1.4 </div> 1.5 1.6 <p> 1.7 - When the computed value of a property changes, implementations 1.8 - must start transitions based on the relevant item (see <a 1.9 + Various things can cause the computed style of an element to change, 1.10 + or for an element to start or stop having computed style. 1.11 + (For the purposes of this specification, 1.12 + an element has computed style when it is in the document tree, 1.13 + and does not have computed style when it is not in the document tree.) 1.14 + These include 1.15 + insertion and removal of elements from the document tree 1.16 + (which both changes whether those elements have computed styles and 1.17 + can change the styles of other elements through selector matching), 1.18 + changes to the document tree that cause 1.19 + changes to which selectors match elements, 1.20 + changes to style sheets or style attributes, 1.21 + and other things. 1.22 + This specification does not define when computed styles are updated. 1.23 + However, 1.24 + when an implementation updates the computed style for an element 1.25 + to reflect one of these changes, 1.26 + it must update the computed style for all elements to reflect all 1.27 + of these changes at the same time 1.28 + (or at least it must be undetectable that it was done at a 1.29 + different time). 1.30 + This processing of a set of simultaneous style changes is called a 1.31 + <dfn>style change event</dfn>. 1.32 + (Implementations typically have a <span>style change event</span> to 1.33 + correspond with their desired screen refresh rate, 1.34 + and when up-to-date computed style is needed 1.35 + for a script API that depends on it.) 1.36 + </p> 1.37 + 1.38 + <p> 1.39 + Since this specification does not define 1.40 + when a <span>style change event</span> occurs, 1.41 + and thus what changes to computed values are considered simultaneous, 1.42 + authors should be aware that changing any of the transition 1.43 + properties a small amount of time after making a change that 1.44 + might transition can result in behavior that varies between 1.45 + implementations, since the changes might be considered 1.46 + simultaneous in some implementations but not others. 1.47 + </p> 1.48 + 1.49 + <p> 1.50 + When a <span>style change event</span> occurs, 1.51 + implementations must start transitions based on 1.52 + the computed styles that changed in that event. 1.53 + If an element does not have a computed style 1.54 + either before or after the style change event, 1.55 + then transitions are not started for that element 1.56 + in that style change event. 1.57 + Otherwise, 1.58 + define the <span>before-change style</span> as 1.59 + the computed style for the element as of 1.60 + the previous <span>style change event</span>, 1.61 + except with any styles derived from declarative 1.62 + animations such as CSS Transitions, CSS Animations 1.63 + ([[CSS3-ANIMATIONS]]), 1.64 + and SMIL Animations ([[SMIL-ANIMATION]], [[SVG11]]) 1.65 + updated to the current time. 1.66 + Likewise, define the <span>after-change style</span> as 1.67 + the computed style for the element based on the information 1.68 + known at the start of that <span>style change event</span>, 1.69 + in other words, 1.70 + excluding any changes resulting from CSS Transitions 1.71 + that start during that <span>style change event</span>. 1.72 + </p> 1.73 + 1.74 + <p> 1.75 + For each element with a <span>before-change style</span> and 1.76 + an <span>after-change style</span>, 1.77 + and each property (other than shorthands) for which 1.78 + the <span>before-change style</span> is different from 1.79 + the <span>after-change style</span>, 1.80 + implementations must 1.81 + start transitions based on the relevant item (see <a 1.82 href="#transition-property">the definition of 1.83 'transition-property'</a>) in the computed value of 1.84 'transition-property'. 1.85 @@ -930,17 +1001,6 @@ 1.86 </p> 1.87 1.88 <p> 1.89 - Since this specification does not define 1.90 - when computed values change, and thus what changes to 1.91 - computed values are considered simultaneous, 1.92 - authors should be aware that changing any of the transition 1.93 - properties a small amount of time after making a change that 1.94 - might transition can result in behavior that varies between 1.95 - implementations, since the changes might be considered 1.96 - simultaneous in some implementations but not others. 1.97 - </p> 1.98 - 1.99 - <p> 1.100 Once the transition of a property has started, it must continue 1.101 running based on the original timing function, duration, and 1.102 delay, even if the 'transition-timing-function', 1.103 @@ -1558,6 +1618,10 @@ 1.104 <li>Make the behavior of simultaneous changes of 'transition-*' properties and transitionable properties even clearer. 1.105 <li>Computed Value line for shorthands should say "see individual properties". 1.106 <li>Define initial values of event properties, using initializers in <span>TransitionEventInit</span>. 1.107 + <li>Define the model for starting of transitions and their interaction with other animations more precisely: 1.108 + <ul> 1.109 + <li>Define the <span>before-change style</span> and <span>after-change style</span> used for the style comparison, using the new concept of a <span>style change event</span>. 1.110 + </ul> 1.111 </ul> 1.112 1.113 <p>For more details on these changes, see the version control change logs, which are split in two parts because of a file renaming: <a href="https://dvcs.w3.org/hg/csswg/log/tip/css-transitions/Overview.src.html">change log since 2013 March 28</a>, <a href="https://dvcs.w3.org/hg/csswg/log/tip/css3-transitions/Overview.src.html">change log before 2013 March 28</a>.