← Back to release summary

Continue running transitions when switching to initial transition value.

Category
CSS
Type
No developer-visible change
Status
Proposed (Chrome Proposed)
Intent stage
None

Summary

When the transition related properties change, they are only supposed to affect newly started transitions. This means that if you change the transition properties, unless you also change the properties which have active transition animations, those transition animations will continue with the previously specified duration, easing, etc. Blink incorrectly canceled transitions when the transition property was set to "none", even though it doesn't cancel them if you only change the transition-duration. With this feature, blink will be consistent with webkit and gecko, allowing active transitions to continue running, unless/until their property value changes triggering a new transition update.

Motivation

Canceling transitions is both inconsistent (i.e. we only cancel if transition is set to none, even though this is semantically equivalent to setting a 0 duration), and not correct to the spec. Safari and Firefox both implement this correctly now, forcing developers to need to carefully avoid triggering this edge case to get consistent behavior.

Standards & signals

Samples: https://jsbin.com/tesuliz/edit?html,css,js,output

View on chromestatus.com