Re: [csswg-drafts] Clamping values and additive animation (#12648)

My expected use case for relative and additive is manually constructed Web-Animations, to blend on interruption and retargeting of in-progress animation, using the timing function. I’m not sure how useful `@keyframes` would be for web apps, if only one ever runs at the same time. 

If a page author has a `@keyframes fadein` and `@keyframes fadeout` and toggles them by changing classnames, and the user presses the toggle button rapidly three or more times, it would be difficult to design the page in such a way that three or more CSS Animations run simultaneously.

On the other hand, if you do want to add a switch then instead I would recommend a `subtract` operation for CSS Values, `CompositeOperation: blend`, `transition-composition: blend`, and `animation-composition: blend`. These would automatically calculate those deltas so a page author wouldn’t have to think about animating a fade-in opacity from -1 to 0 and instead merely specify 0 to 1. In addition, CSS Animations would have to somehow “detach” so they don’t get removed until completion, allowing multiple to run at the same time.

That would be a huge undertaking, but don’t let me dissuade you. However, a `@keyframes` switch that does not do the conversion and detach CSS Animations might preclude them in the future.

-- 
GitHub Notification of comment by KevinDoughty
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12648#issuecomment-3234517118 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 28 August 2025 18:24:15 UTC