css-transitions/Overview.src.html

changeset 9077
3379bf6d2b39
parent 9050
1cb2b4e9ea3b
child 9078
9f7a990bfc09
     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>.

mercurial