Hover lift
Neu in Bootstrap v6.0.0
Hebe ein Element bei Hover und Tastaturfokus mit einer leichten Verschiebung und einem tieferen Schatten an.
Der Helfer .hover-lift zeigt auf einfache Weise, dass Karten, Kacheln oder andere Flächen anklickbar sind. Er setzt nur transform und box-shadow und lässt sich deshalb mit jedem Element kombinieren.
- Hover und Fokus: Wirkt bei Maus und Tastatur gleichermaßen.
- Anpassbar: Abstand, Schatten und Timing über CSS-Variablen.
- Reduzierte Bewegung: Bei
prefers-reduced-motionentfällt die Animation, Schatten und Versatz bleiben.
Quelle: Bootstrap-Dokumentation (englisch), übersetzt und bearbeitet. Doku lizenziert unter CC BY 3.0.
Funktionsweise
Setze .hover-lift an ein beliebiges Element. Bei Hover oder Tastaturfokus verschiebt es sich ein Stück nach oben und bekommt einen kräftigeren Schatten – ein dezenter Hinweis, dass die Fläche interaktiv ist.
Der Effekt basiert auf CSS-Variablen und nutzt das transition()-Mixin von Bootstrap. Er ist dadurch voll anpassbar und berücksichtigt automatisch prefers-reduced-motion: Wer reduzierte Bewegung eingestellt hat, sieht Schatten und Versatz ohne Animation.
Beispiel
Fahr mit der Maus über die Karte oder springe per Tab-Taste darauf, um den Effekt zu sehen.
<a href="#" class="card hover-lift text-decoration-none" style="max-width: 20rem;">
<div class="card-body">
<h5 class="card-title">Fahr mit der Maus darüber</h5>
<p class="card-text mb-0">Diese Karte hebt sich bei Hover und Tastaturfokus an.</p>
</div>
</a>Da nur transform und box-shadow gesetzt werden, funktioniert .hover-lift mit Buttons, Listeneinträgen oder einfachen Containern genauso.
<button type="button" class="btn-solid theme-primary hover-lift">Hebt sich bei Hover</button>Anpassen
Über die CSS-Variablen des Helfers stellst du Hubhöhe, Schatten und Timing ein. Im Beispiel hebt sich die Karte weiter an und reagiert schneller:
<a href="#" class="card hover-lift text-decoration-none" style="--bs-hover-lift-transform: translateY(-.5rem); --bs-hover-lift-transition-duration: .1s; max-width: 20rem;">
<div class="card-body">
<h5 class="card-title">Stärkeres Anheben</h5>
<p class="card-text mb-0">Angepasste Verschiebung und Dauer.</p>
</div>
</a>Die vollständige Liste der CSS-Variablen und den Sass-Quelltext findest du in der Originaldoku.