You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[web-animations-1] Allow keyframe offsets outside the range [0,1]? #2081
This is about being able to specify keyframes at, e.g. -10% so that when you have a timing function of cubic-bezier(0, -0.5, 1, 1.5) you can control the interpolation (or actually extrapolation) outside the 0%~100% range.
it is natural: only 0% to 100% (from is 0% and to is 100%). Before "from" and after "to"? It will be unintuitive. the -10% and 110% shall be parsed as errors.
So now for scroll-driven animation, it is possible to have a resolved computed offset outside [0, 1], e.g. cover -20% could be resolved to -0.2 for computedOffset. So this should be reasonable now to allow the percentage offset be outside [0, 1].
Oh I found this: #7825. So it seems we would like to keep the percentage offset within [0, 1]. Only do some special handle for timeline range name at 0% and 100%.
I don't think we're going to change this in level 1 anyway. It's consistently implemented across browsers. If we decide to allow offsets outside the range [0,1] in general, we'll need to investigate potential Web compat issues before proceeding.
#8202 currently monkey patches the implicit keyframe generation part which isn't great (and might be what tripped up @BorisChiou above) so I think we add a note to the implicit keyframe generation part to call that out.
Activity
Nadya678 commentedon Dec 7, 2017
cubic-bezier(0, -0.5, 1, 1.5)?
Current in use for colours by me. It works in all modern browsers in the same way.
birtles commentedon Dec 11, 2017
This is about being able to specify keyframes at, e.g. -10% so that when you have a timing function of
cubic-bezier(0, -0.5, 1, 1.5)you can control the interpolation (or actually extrapolation) outside the 0%~100% range.Nadya678 commentedon Dec 17, 2017
it is natural: only 0% to 100% (from is 0% and to is 100%). Before "from" and after "to"? It will be unintuitive. the -10% and 110% shall be parsed as errors.
BorisChiou commentedon May 15, 2026
So now for scroll-driven animation, it is possible to have a resolved computed offset outside [0, 1], e.g.
cover -20%could be resolved to-0.2forcomputedOffset. So this should be reasonable now to allow the percentage offset be outside [0, 1].BorisChiou commentedon May 15, 2026
Oh I found this: #7825. So it seems we would like to keep the percentage offset within [0, 1]. Only do some special handle for timeline range name at 0% and 100%.
birtles commentedon Aug 12, 2026
I don't think we're going to change this in level 1 anyway. It's consistently implemented across browsers. If we decide to allow offsets outside the range [0,1] in general, we'll need to investigate potential Web compat issues before proceeding.
#8202 currently monkey patches the implicit keyframe generation part which isn't great (and might be what tripped up @BorisChiou above) so I think we add a note to the implicit keyframe generation part to call that out.
[web-animations-1][web-animations-2][editorial] Mention that we need …
birtles commentedon Aug 12, 2026
I've filed #14309 for the monkey-patch issue and referenced it in #14310, dropping the reference to this issue at the same time.