Weekend in Lisbon
Three days of tiles, tarts and trams.
Open any effect, copy the HTML into your markup and the CSS into your stylesheet. Nothing else is required: no JavaScript, no libraries. Classes are prefixed per effect so several can share a page.
To change the color, set --hfx-color on the element or any ancestor. To change the size, set --hfx-size: every dimension inside is in em, so padding, radii and offsets scale together.
Every snippet ships with a prefers-reduced-motion rule that disables the movement for people who asked their OS for less of it. The hover state still applies, only the transition is skipped.
Give the button a class, then write a :hover rule that changes the properties you want to animate and a transition on the base rule so the change is smooth. Every button effect above is exactly that pattern, ready to paste.
Phones have no hover, so the effect shows on tap and stays until the next tap. Design the effects as decoration, not as the only way to reveal content, and give links and buttons a visible resting state. The entry pages have a "hold hover state" switch so you can preview the effect on a touch screen.
Yes. Entries tagged "tailwind" include a version written with Tailwind utility classes such as hover:-translate-y-1 and group-hover:scale-110. The others can be added to any Tailwind project as plain CSS.
Transform and opacity are composited on the GPU, so they animate at 60fps without re-laying out the page. Width, height, top and margin force layout on every frame. The snippets here use transform wherever the effect allows it.
Set the --hfx-color custom property on the element or any ancestor. Every effect reads its accent from that one variable, including the mixed gradient and glow colors.