Hover-effects
the hover.css
file bietet a umfangreiche Sammlung from Effekten, the beim Bewegen des Mauszeigers over a element (Hover) ausgelost become. these effects verbessern the Interaktivitat Ihrer Benutzeroberflache and geben den Nutzern visuelles Feedback over interaktive elements.
Overview
Hover-effects sind a wesentlicher Bestandteil einer interaktiven Weboberflache. them signalisieren Nutzern, welche elements anklickbar sind, and steigern the wahrgenommene Reaktionsfahigkeit einer Application. the Casoon UI Library bietet verschiedene Hover-effects, from subtilen Anderungen until hin to auffalligen Transformationen.
Base-Hover-effects
<!-- Farbwechsel at Hover -->
<div class="hover-color">Andert color at Hover</div>
<div class="hover-bg">Andert Hintergrundfarbe at Hover</div>
<div class="hover-border">Andert Rahmenfarbe at Hover</div>
<!-- Hervorhebung at Hover -->
<div class="hover-highlight">Wird at Hover hervorgehoben</div>
<div class="hover-underline">Bekommt Unterstreichung at Hover</div>
<div class="hover-outline">Bekommt Umriss at Hover</div>
<!-- Schattierung at Hover -->
<div class="hover-shadow">Bekommt shadow at Hover</div>
<div class="hover-shadow-soft">Bekommt weichen shadow at Hover</div>
<div class="hover-shadow-sharp">Bekommt scharfen shadow at Hover</div>
Bewegungs-Hover-effects
<!-- Anheben at Hover -->
<div class="hover-lift">Wird at Hover angehoben</div>
<div class="hover-lift-sm">Wird at Hover leicht angehoben</div>
<div class="hover-lift-lg">Wird at Hover stark angehoben</div>
<!-- Skalieren at Hover -->
<div class="hover-scale">Wird at Hover grosser</div>
<div class="hover-scale-sm">Wird at Hover leicht grosser</div>
<div class="hover-scale-lg">Wird at Hover deutlich grosser</div>
<div class="hover-scale-down">Wird at Hover smaller</div>
<!-- Verschiebung at Hover -->
<div class="hover-shift-up">Bewegt oneself at Hover after oben</div>
<div class="hover-shift-right">Bewegt oneself at Hover after rechts</div>
<div class="hover-shift-down">Bewegt oneself at Hover after unten</div>
<div class="hover-shift-left">Bewegt oneself at Hover after links</div>
<!-- Rotation at Hover -->
<div class="hover-rotate">Rotiert at Hover</div>
<div class="hover-rotate-sm">Rotiert at Hover leicht</div>
<div class="hover-rotate-lg">Rotiert at Hover stark</div>
Spezielle Hover-effects
<!-- Glow-effect at Hover -->
<div class="hover-glow">Leuchtet at Hover</div>
<div class="hover-glow-soft">Leuchtet at Hover sanft</div>
<div class="hover-glow-intense">Leuchtet at Hover intensiv</div>
<div class="hover-glow-primary">Leuchtet at Hover in Primarfarbe</div>
<!-- Hover-States for bestimmte elements -->
<button class="hover-fill">button fullt oneself at Hover</button>
<div class="card hover-float">Card schwebt at Hover</div>
<img class="hover-zoom" src="image.jpg" alt="image zoomt at Hover">
<a class="hover-slide-line">link with Unterstreichungs-animation</a>
<!-- Sweep-effects at Hover -->
<div class="hover-sweep-to-right">Fullung gleitet from links after rechts</div>
<div class="hover-sweep-to-left">Fullung gleitet from rechts after links</div>
<div class="hover-sweep-to-top">Fullung gleitet from unten after oben</div>
<div class="hover-sweep-to-bottom">Fullung gleitet from oben after unten</div>
Text-Hover-effects
<!-- Text-Transformationen at Hover -->
<p class="hover-text-bold">Wird at Hover fett</p>
<p class="hover-text-italic">Wird at Hover kursiv</p>
<p class="hover-text-uppercase">Wird at Hover grossgeschrieben</p>
<!-- Text-color at Hover -->
<p class="hover-text-primary">Andert at Hover to Primarfarbe</p>
<p class="hover-text-secondary">Andert at Hover to Sekundarfarbe</p>
<p class="hover-text-accent">Andert at Hover to Akzentfarbe</p>
border-Hover-effects
<!-- Rahmeneffekte at Hover -->
<div class="hover-border-thicker">border wird at Hover dicker</div>
<div class="hover-border-rounded">border wird at Hover abgerundet</div>
<div class="hover-border-solid">Durchgezogener border at Hover</div>
<div class="hover-border-dashed">Gestrichelter border at Hover</div>
<div class="hover-border-animated">Animierter border at Hover</div>
transparency-Hover-effects
<!-- Transparenzeffekte at Hover -->
<div class="hover-fade-in">Wird at Hover sichtbarer</div>
<div class="hover-fade-out">Wird at Hover transparenter</div>
<div class="hover-reveal">content wird at Hover enthullt</div>
<div class="hover-mask">Maskierungseffekt at Hover</div>
a-/Ausblendungseffekte at Hover
<!-- Uberblendungseffekte at Hover -->
<div class="hover-overlay">
<img src="image.jpg" alt="image">
<div class="overlay-content">Uberblendungsinhalt</div>
</div>
<!-- Anzeigen from Elementen at Hover -->
<div class="hover-show-content">
<img src="image.jpg" alt="image">
<div class="hover-content">Erscheint at Hover</div>
</div>
<!-- Einblenden from icons at Hover -->
<button class="hover-show-icon">
more erfahren
<span class="hover-icon">→</span>
</button>
Kombinierte Hover-effects
<!-- several Hover-effects combine -->
<div class="hover-scale hover-shadow hover-color">
Skalierende, schattige Farbanderung at Hover
</div>
<!-- Cardn-Hover-effects -->
<div class="card hover-lift hover-shadow hover-border">
<div class="card-content">
<h3 class="hover-text-primary">Cardntitel</h3>
<p>Cardninhalt</p>
</div>
</div>
<!-- button-Hover-effects -->
<button class="button hover-scale-sm hover-bg hover-shadow">
Ansprechender button
</button>
<!-- link-Hover-effects -->
<a class="link hover-underline hover-text-bold hover-text-primary">
Hervorgehobener link
</a>
Anpassbare Hover-effects
many Hover-effects can through CSS Variables angepasst become:
<button class="hover-scale" style="--hover-scale: 1.1">
Angepasste Skalierung
</button>
<div class="hover-glow" style="--hover-glow-color: #ff3366">
Angepasste Glow-color
</div>
<div class="hover-shift-up" style="--hover-shift-distance: 10px">
Angepasste Verschiebungsdistanz
</div>
CSS Variables for Hover-effects
:root {
/* Base-Hover-parameter */
--hover-transition-duration: 0.3s;
--hover-transition-timing: ease;
/* Skalierung */
--hover-scale-sm: 1.05;
--hover-scale-md: 1.1;
--hover-scale-lg: 1.15;
/* Verschiebung */
--hover-shift-sm: 2px;
--hover-shift-md: 5px;
--hover-shift-lg: 10px;
/* Rotation */
--hover-rotate-sm: 2deg;
--hover-rotate-md: 5deg;
--hover-rotate-lg: 10deg;
/* shadow */
--hover-shadow-sm: 0 2px 5px rgba(0, 0, 0, 0.1);
--hover-shadow-md: 0 5px 15px rgba(0, 0, 0, 0.1);
--hover-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);
/* Glow */
--hover-glow-sm: 0 0 5px rgba(var(--color-primary-rgb), 0.5);
--hover-glow-md: 0 0 10px rgba(var(--color-primary-rgb), 0.5);
--hover-glow-lg: 0 0 20px rgba(var(--color-primary-rgb), 0.5);
/* Colors */
--hover-color-primary: var(--color-primary);
--hover-color-secondary: var(--color-secondary);
--hover-color-accent: var(--color-accent);
/* border */
--hover-border-width: 2px;
--hover-border-color: var(--color-primary);
--hover-border-style: solid;
}
Reaktionsfahigkeit for Touch-Gerate
for Touch-Gerate, at denen no Hover moglich ist, can them alternative effects anbieten:
/* on Geraten with Touch use we stattdessen active-States */
@media (hover: none) {
.hover-scale:active {
transform: scale(var(--hover-scale-md));
}
.hover-color:active {
color: var(--hover-color-primary);
}
/* ... additional Touch-optimierte Alternativen ... */
}
Accessibility
at the Usage from Hover-Effekten should them on Accessibility ensure:
- Tastaturnutzung: ensure, that Hover-effects also with
:focus
funktionieren - Reduzierte Bewegung: Respektieren them
prefers-reduced-motion
- Ausreichender Kontrast: Hover-effects should den Kontrast not beeintrachtigen
- no exklusiver Content: Wichtige contents should not ausschliesslich at Hover sichtbar be
/* Example for barrierefreie Hover-effects */
.hover-scale,
.hover-rotate,
.hover-shift-up {
transition: transform var(--hover-transition-duration) var(--hover-transition-timing);
}
/* for Tastaturbedienung */
.hover-scale:focus-visible,
.hover-rotate:focus-visible,
.hover-shift-up:focus-visible {
/* Gleiche effects how at Hover */
}
/* Reduzierte Bewegung berucksichtigen */
@media (prefers-reduced-motion: reduce) {
.hover-scale,
.hover-rotate,
.hover-shift-up,
/* additional Bewegungseffekte */ {
transition: none !important;
transform: none !important;
}
}
Performance-Uberlegungen
some Hover-effects can the Performance beeinflussen:
- Vermeiden them
box-shadow
andfilter
at haufig animierten Hoverelementen - use them
transform
andopacity
for bessere Performance - Setzen them
will-change
sparsam a at Elementen, the haufig Hover-Ubergange have - Beschranken them komplexe Hover-effects on wichtige interaktive elements
/* Performance-optimierter Hover-effect */
.hover-performance {
transform: translateZ(0);
}
.hover-performance:hover {
transform: translateZ(0) scale(1.05);
}
/* for haufig gehoverte elements */
.hover-optimized {
will-change: transform;
}
Praktische Examples
Interaktive button-Sammlung
<div class="button-collection">
<!-- Primarer button with Skalierung and Schattierung -->
<button class="button primary hover-scale-sm hover-shadow">
Primarer button
</button>
<!-- Sekundarer button with sanfter Hintergrundanderung -->
<button class="button secondary hover-bg hover-text-bold">
Sekundarer button
</button>
<!-- Outline-button with Full-effect -->
<button class="button outline hover-fill">
Outline-button
</button>
<!-- icon-button with Rotation -->
<button class="button icon-button hover-rotate-sm hover-glow">
<i class="icon">↻</i>
</button>
</div>
Produktkarte with Hover-Effekten
<div class="product-card hover-lift hover-shadow-lg">
<div class="product-image-containers">
<img class="product-image hover-scale" src="product.jpg" alt="Produkt">
<div class="hover-overlay">
<div class="overlay-content">
<button class="hover-scale">Schnellansicht</button>
</div>
</div>
</div>
<div class="product-info">
<h3 class="hover-text-primary">Produktname</h3>
<p>Produktbeschreibung</p>
<div class="price">29,99 €</div>
<button class="button hover-bg hover-shift-up">in den Warenkorb</button>
</div>
</div>
Navigationsmenu with Hover-Effekten
<nav class="main-nav">
<ul>
<li>
<a class="hover-slide-line" href="#">Startseite</a>
</li>
<li>
<a class="hover-slide-line" href="#">over us</a>
</li>
<li class="has-dropdown">
<a class="hover-slide-line" href="#">Produkte</a>
<ul class="dropdown hover-shadow">
<li><a class="hover-bg" href="#">category 1</a></li>
<li><a class="hover-bg" href="#">category 2</a></li>
<li><a class="hover-bg" href="#">category 3</a></li>
</ul>
</li>
<li>
<a class="hover-slide-line" href="#">Kontakt</a>
</li>
</ul>
</nav>
Best Practices
- Subtile effects bevorzugen: Dezente Hover-effects wirken oft professioneller as ubertriebene animations
- Consistency bewahren: use them ahnliche Hover-effects for ahnliche Elementtypen
- Feedback geben: Hover-effects should dem Nutzer klares Feedback over interaktive elements geben
- Performance note: Komplexe Hover-effects can the Leistung beeintrachtigen, besonders on alteren Geraten
- Accessibility einbauen: ensure, that Ihre Hover-effects also with the Tastatur zuganglich sind </rewritten_file>