Re: [csswg-drafts] [css-transitions-2] Exit animations (`@exit-style`) (#9500)

**Strong +1**. This is a major missing primitive in CSS today.

There is currently no declarative way to say: “when this element is about to be removed or hidden, transition to this state and wait for completion.” As a result, every framework re-implements the same lifecycle orchestration in JavaScript (Angular `:leave` / `animate.exit`, React + Framer Motion presence APIs, Vue `<transition>` wrappers, etc.).

These solutions:

- are complex and framework-specific
- negatively impact DX
- duplicate logic across ecosystems
- prevent a shared, native mental model

A symmetric counterpart to `@starting-style` (e.g. `@exit-style / @ending-style`) would complete the transition model and allow pure-CSS exit animations for common cases like DOM removal, `display: none`, `popover`/`dialog` closing, and conditional rendering.

View Transitions are powerful, but they solve a different problem (state snapshots and page-level transitions). For component-level exit animations, a lifecycle-aware CSS primitive would be significantly simpler and more ergonomic.

This feels like the missing half of `@starting-style`.

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


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

Received on Thursday, 8 January 2026 14:50:19 UTC