- From: Shahar Har-Shuv via GitHub <noreply@w3.org>
- Date: Thu, 08 Jan 2026 14:50:18 +0000
- To: public-css-archive@w3.org
**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