Skip to content

Commit f09a271

Browse files
committed
[css-easing-2][editorial] Rewrite the jump-* section for clarity.
1 parent 4545199 commit f09a271

1 file changed

Lines changed: 45 additions & 27 deletions

File tree

css-easing-2/Overview.bs

Lines changed: 45 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -713,7 +713,7 @@ It has the following syntax:
713713
<pre class="prod">
714714
<dfn>&lt;step-easing-function></dfn> = ''step-start'' | ''step-end'' | <<steps()>>
715715
716-
<dfn>steps()</dfn> = steps( <<integer>>, <<step-position>> ?)
716+
<dfn>steps()</dfn> = steps( <<integer>>, <<step-position>>?)
717717
<dfn type>&lt;step-position></dfn> = ''jump-start'' | ''jump-end'' | ''jump-none'' | ''jump-both''
718718
| ''start'' | ''end''
719719
</pre>
@@ -745,31 +745,47 @@ The meaning of each value is as follows:
745745
</figure>
746746

747747
: ''steps( &lt;integer&gt;, &lt;step-position&gt;? )''
748-
:: The first parameter specifies the number of intervals in the function.
749-
It must be a positive integer greater than 0
750-
unless the second parameter is <a value for="steps()">jump-none</a>
751-
in which case it must be a positive integer greater than 1.
752-
753-
The second parameter, which is optional, specifies the [=step position=]
754-
using one of the following values:
755-
756-
<dl dfn-type=value dfn-for="<step-position>, steps()">
757-
: <dfn>jump-start</dfn>
758-
:: The first rise occurs at [=input progress value=] of 0.
759-
: <dfn>jump-end</dfn>
760-
:: The last rise occurs at [=input progress value=] of 1.
761-
: <dfn>jump-none</dfn>
762-
:: All rises occur within the range (0, 1).
763-
: <dfn>jump-both</dfn>
764-
:: The first rise occurs at [=input progress value=] of 0
765-
and the last rise occurs at [=input progress value=] of 1.
766-
: <dfn>start</dfn>
767-
:: Behaves as ''jump-start''.
768-
: <dfn>end</dfn>
769-
:: Behaves as ''jump-end''.
770-
</dl>
771-
772-
If the second parameter is omitted, the value ''end'' is assumed.
748+
:: Divides the input interval into a number of equal steps
749+
specified by the <<integer>>.
750+
Within each interval, the [=output progress value=] is constant,
751+
and is determined according to the <<step-position>> keyword.
752+
If omitted, the <<step-position>> keyword defaults to ''end''.
753+
754+
If the <<step-position>> is ''jump-none'',
755+
the <<integer>> must be at least 2,
756+
or the function is invalid.
757+
Otherwise,
758+
the <<integer>> must be at least 1,
759+
or the function is invalid.
760+
761+
The <<step-position>> keywords are:
762+
763+
<dl dfn-type=value dfn-for="<step-position>, steps()">
764+
: <dfn>jump-start</dfn>
765+
:: The first interval has an [=output progress value=] of <code>1/steps</code>,
766+
and subsequent intervals rise by <code>1/steps</code>.
767+
768+
(It "jumps at the start", with no step returning 0.)
769+
: <dfn>jump-end</dfn>
770+
:: The first interval has an [=output progress value=] of <code>0</code>,
771+
and subsequent intervals rise by <code>1/steps</code>.
772+
773+
(It "jumps at the end", with no step returning 1.)
774+
: <dfn>jump-none</dfn>
775+
:: The first interval has an [=output progress value=] of <code>0</code>,
776+
and subsequent intervals rise by <code>1/(steps-1)</code>.
777+
778+
(It "never jumps", with steps returning both 0 and 1.)
779+
: <dfn>jump-both</dfn>
780+
:: The first interval has an [=output progress value=] of <code>1/(steps+1)</code>,
781+
and subsequent intervals rise by <code>1/(steps+1)</code>.
782+
783+
(It "jumps at both ends", with no steps returning 0 or 1.)
784+
: <dfn>start</dfn>
785+
:: Behaves as ''jump-start''.
786+
: <dfn>end</dfn>
787+
:: Behaves as ''jump-end''.
788+
</dl>
773789
</dl>
774790

775791
The ''jump-*'' keywords values are illustrated below:
@@ -793,8 +809,10 @@ The ''jump-*'' keywords values are illustrated below:
793809
<tr><td>''steps(3, jump-none)''<td><div class=easing-track style="--easing:steps(3, jump-none)"></div>
794810
<tr><td>''steps(3, jump-both)''<td><div class=easing-track style="--easing:steps(3, jump-both)"></div>
795811
</table>
796-
<figcaption>
812+
<figcaption style="max-width: 80%;">
797813
The above easing functions in action, with a ''linear'' provided for comparison.
814+
Each ''steps(3, ...)'' function divides the animation into three constant periods;
815+
they differ only on what the value is within each period.
798816
</figcaption>
799817
</figure>
800818

0 commit comments

Comments
 (0)