Pillen-Button mit Druck
Ein runder Button, der beim Drücken leicht zusammengeht und beim Loslassen federnd zurückkommt.
Einstellungen
Code
import { motion } from "framer-motion";
interface PressPillProps {
text?: string;
color?: string;
scale?: number;
}
export default function PressPill({
text = "Weiter",
color = "#0071e3",
scale = 0.96,
}: PressPillProps) {
return (
<motion.button
type="button"
whileTap={{ scale }}
transition={{ type: "spring", stiffness: 300, damping: 30 }}
className="rounded-full px-6 py-3 text-sm font-medium text-white shadow-[0_1px_2px_rgba(0,0,0,0.03),0_8px_28px_rgba(0,0,0,0.05)]"
style={{ backgroundColor: color }}
>
{text}
</motion.button>
);
}
Prompt für KI
Füg ihn in ChatGPT, Claude oder Cursor ein und der Baustein wird mit diesen Einstellungen an dein Projekt angepasst, auch ohne React.
Mehr aus Buttons
Wofür du ihn nutzen kannst
Das ist das Arbeitspferd einer guten Oberfläche: „Weiter“ im Checkout, „Nächster Schritt“ beim Onboarding, „Buchung bestätigen“ in einer App. Das leichte Zusammendrücken gibt dasselbe Feedback wie ein echter Knopf, also fühlt sich jeder Tap angekommen an, auch bei langsamer Verbindung. Von allen Press-Effekten für Buttons ist das der, der niemandem auf die Nerven geht.
Lass die Skalierung beim Drücken bei etwa 0,96. Deutlich darunter wirkt es schnell wie Spielzeug. Weil er auf Tippen reagiert und nicht auf Hover, fühlt er sich auf dem Handy genauso gut an wie am Laptop.