Skip to content
← writing

A liquid-glass button, and the @property trick behind it

css
glassmorphism
@property
buttons

Ask your agent to implement this

Read the full writeup at https://seangeng.com/writing/a-liquid-glass-button.md and implement it in my project.

It covers: A liquid-glass button, and the @property trick behind it. Petr Knoll's frosted glass button, ported to a component. backdrop-filter for the frost, layered inset rims, and an animated conic-gradient border + sheen powered by @property angle interpolation.

Requirements:
- Follow the technique/approach exactly as described in the writeup.
- Adapt names, colors, and styling to my project's existing conventions.
- If it's a component, make it reusable with sensible props and TypeScript types.
- Keep it accessible: semantic HTML, keyboard support, and respect prefers-reduced-motion.
- When done, tell me which files you created or changed and how to use it.

Paste into Claude Code, Codex, Cursor, or any agent. view raw .md download source .zip