About this set
Two feature cards that turn over in 3D. The front is a gradient panel with an emoji icon, a heading, a short pitch and a small Hover to flip hint; the back is a dark panel with a What you get heading, four bullet points and a Learn more button link. The flip uses perspective on the outer element, transform-style: preserve-3d on the inner one and backface-visibility: hidden on both faces, with the back face pre-rotated 180 degrees. Hovering the card flips it, and so does keyboard focus: the scene uses :focus-within, so tabbing to the Learn more link on the back turns the card over before the link is shown. Both faces stay in the document, so screen readers read the front and back in order without needing the animation. Use flip cards for feature highlights, service summaries or team members with a bio on the back. Under prefers-reduced-motion the card switches faces instantly instead of rotating. There is no JavaScript. In Bootstrap each face is a .card stacked with position utilities, and Tailwind uses perspective-, transform-3d, backface-hidden and rotate-y-180.
What’s included
- CSS-only 3D flip with perspective, preserve-3d and backface-visibility
- Flips on hover and when keyboard focus reaches the link on the back
- Both faces readable by screen readers in source order
- Instant face swap under prefers-reduced-motion
- No JavaScript
Accessibility
The card flips when its Learn more link receives keyboard focus, so the focused link is always visible, and the link shows a white 3px outline. Each link adds visually hidden context such as about instant deploys. The front text colours and the green gradient were darkened to reach 4.5:1, the visual Hover to flip hint is hidden from screen readers, and the rotation becomes an instant swap under prefers-reduced-motion.
Customise it
Change the front gradients in .fc-f1 and .fc-f2 (and their --fc-soft text colour), the back surface in .fc-back and the flip speed in the .fc-flip transition. Bootstrap uses the same classes on top of .card variables; in Tailwind edit the from-/to- utilities and duration-[650ms].




















