@@ -741,67 +741,96 @@ spec: cssom-view-1; type: dfn;
741
741
742
742
A set of animation keyframes can be attached
743
743
in reference to [=named timeline ranges=]
744
- by adjusting the duration of the animation.
744
+ by restricting the animation’s [=active phase=]
745
+ to the specified timeline range.
746
+ Delays (see 'animation-delay' )
747
+ are set within this restricted range,
748
+ constricting it further.
749
+ If a duration ('animation-duration' ) is given,
750
+ it extends from the end of the start delay
751
+ until the start of the end delay,
752
+ and further restricts the range-restricted end.
753
+
754
+ <pre class="ascii-art">
755
+ range start┐ ╺┉┉┉┉active phase┉┉┉┉╸ ┌range end
756
+ ┄┄┄┄┄┄┄┄┄┄┄├─────────────╊━━━━━━━━━━━━━━━━━━━━╉───────────┤┄┄┄┄┄┄┄┄
757
+ ╶┄start delay┄╴ ╶┄end delay┄╴
758
+ ╶┄┄┄┄┄ duration┄┄┄┄┄┄╴
759
+ </pre>
745
760
746
761
<pre class="propdef shorthand">
747
- Name : animation-delay, animation- range
748
- Value : [ <<'animation-delay -start'>> <<'animation-delay -end'>>? | <<timeline-range-name>> ]#
762
+ Name : animation-range
763
+ Value : [ <<'animation-range -start'>> <<'animation-range -end'>>? | <<timeline-range-name>> ]#
749
764
</pre>
750
765
751
- The 'animation-delay' and 'animation-range' properties
752
- are both [=shorthand property|shorthands=]
753
- that set 'animation-delay-start' and 'animation-delay-end'
766
+ The 'animation-range' property is a [=shorthand property|shorthand=]
767
+ that sets 'animation-range-start' and 'animation-range-end'
754
768
together in a single declaration.
755
- If the <<'animation-delay -end'>> value is omitted,
756
- it is set to zero .
769
+ If the <<'animation-range -end'>> value is omitted,
770
+ it is set to ''normal'' .
757
771
If a <<timeline-range-name>> alone is specified,
758
- 'animation-delay -start' is set to that name plus ''0%''
759
- and 'animation-delay -end' is set to that name plus ''100%'' .
772
+ 'animation-range -start' is set to that name plus ''0%''
773
+ and 'animation-range -end' is set to that name plus ''100%'' .
760
774
761
775
<pre class="propdef">
762
- Name : animation-delay -start
763
- Value : [ <<time>> | <<timeline-range-name>> <<percentage>> ]#
764
- Initial : 0s
776
+ Name : animation-range -start
777
+ Value : [ normal | <<timeline-range-name>> <<percentage>> ]#
778
+ Initial : normal
765
779
Applies to : all elements
766
780
Inherited : no
767
781
Percentages : relative to the specified [=named timeline range=]
768
- Computed value : list, each item either a duration or a timeline range and progress percentage
782
+ Computed value : list, each item either the keyword ''animation-range-start/normal'' or a timeline range and progress percentage
769
783
Animatable : no
770
784
</pre>
771
785
772
- Defines a delay between the start of the animation
773
- and when it begins executing
774
- (i.e. when keyframes attached to 0% progress are mapped).
786
+ Shifts the <a spec="web-animations-1">start time</a> of the animation
787
+ (i.e. where keyframes mapped to 0% progress are attached
788
+ when the iteration count is 1)
789
+ to the specified position on the timeline.
775
790
776
- <dl dfn-for="animation-delay -start, animation-delay-end " dfn-type=value>
777
- <dt> <dfn><<time>> </dfn>
791
+ <dl dfn-for="animation-range -start" dfn-type=value>
792
+ <dt> <dfn>normal </dfn>
778
793
<dd>
779
- Defines the delay as a duration. See [[CSS-ANIMATIONS-1]] .
794
+ The start of the [=active phase=]
795
+ is determined as normal.
796
+
780
797
<dt> <dfn><<timeline-range-name>> <<percentage>></dfn>
781
798
<dd>
782
- Calculates the delay as the difference between
783
- the start of the animation
784
- and the specified point on the [=timeline=] .
799
+ The [=active phase=] starts
800
+ at the specified point on the [=timeline=] ,
801
+ plus any applicable start delay .
785
802
</dl>
786
803
787
804
<pre class="propdef">
788
- Name : animation-delay -end
789
- Value : [ <<time>> | <<timeline-range-name>> <<percentage>> ]#
790
- Initial : 0s
805
+ Name : animation-range -end
806
+ Value : [ normal | <<timeline-range-name>> <<percentage>> ]#
807
+ Initial : normal
791
808
Applies to : all elements
792
809
Inherited : no
793
810
Percentages : relative to the specified [=named timeline range=]
794
- Computed value : list, each item either a duration or a timeline range and progress percentage
811
+ Computed value : list, each item either the keyword ''animation-range-end/normal'' or a timeline range and progress percentage
795
812
Animatable : no
796
813
</pre>
797
814
798
- Defines a delay between the end of the animation
799
- and when it ends executing
800
- (i.e. when keyframes attached to 100% progress are mapped).
801
- Values are as for 'animation-delay-start' ,
802
- but calculating backwards from the end,
803
- i.e. a ''2s'' delay effectively shortens the animation duration,
804
- whereas ''-2s'' lengthens it.
815
+ Shifts the <a spec="web-animations-1">end time</a> of the animation
816
+ (i.e. where keyframes mapped to 100% progress are attached
817
+ when the iteration count is 1)
818
+ to the specified position on the timeline.
819
+
820
+ <dl dfn-for="animation-range-end" dfn-type=value>
821
+ <dt> <dfn>normal</dfn>
822
+ <dd>
823
+ The <a spec="web-animations-1">end time</a> of the animation
824
+ is determined as normal.
825
+
826
+ <dt> <dfn><<timeline-range-name>> <<percentage>></dfn>
827
+ <dd>
828
+ The <a spec="web-animations-1">end time</a> of the animation
829
+ is at the specified point on the [=timeline=]
830
+ minus any applicable end delay,
831
+ or at the end of the animation duration,
832
+ whichever comes first.
833
+ </dl>
805
834
806
835
## Reporting Timeline Range Progress: the ''getCurrentTime()'' method ## {#named-range-get-time}
807
836
0 commit comments