Skip to content

Soft-edged theme wipe

Theme switchingView transitionsMotion4 min read

A light and dark swap revealed top to bottom behind a feathered edge, on the View Transitions API and one registered custom property, with no JavaScript running per frame.

Written by
Ahmed Amr
Year
2026
Status
Prototype
Built with
CSS, View Transitions API, TypeScript

Does a theme switch have to be a snap, or can the new colour arrive from a direction without the page paying for it every frame?

In this article6
Loading lab note