CSS-Übergänge und Animationen
Übergänge und Animationen machen Ihre Webseite lebendig und verbessern die Benutzererfahrung. In diesem Kapitel lernen Sie die grundlegenden Techniken kennen.
Transitions (Übergänge)
Abschnitt betitelt „Transitions (Übergänge)“CSS-Transitions ermöglichen sanfte Übergänge zwischen verschiedenen Zuständen eines Elements, typischerweise bei Hover oder Klick.
Grundlegende Syntax
Abschnitt betitelt „Grundlegende Syntax“.button { background-color: blue; /* Angabe, was sich ändern soll, wie lange es dauert und wie */ transition: background-color 0.3s ease;}
.button:hover { background-color: red;}Transition-Eigenschaften
Abschnitt betitelt „Transition-Eigenschaften“- transition-property: Was animiert werden soll (z.B.
color,opacity,transform) - transition-duration: Wie lange der Übergang dauern soll (z.B.
0.5s,300ms) - transition-timing-function: Wie der Übergang ablaufen soll (
ease,linear,ease-in-out) - transition-delay: Verzögerung vor dem Start des Übergangs
Kurzschreibweise
Abschnitt betitelt „Kurzschreibweise“/* Alles in einer Zeile */.element { transition: background-color 0.3s ease 0.1s;}
/* Mehrere Übergänge */.element { transition: background-color 0.3s ease, transform 0.5s ease-in-out;}Transformationen
Abschnitt betitelt „Transformationen“Mit Transformationen können Sie Elemente verschieben, drehen, skalieren oder verzerren.
/* Verschieben */.move { transform: translateX(20px); /* horizontal */ transform: translateY(-10px); /* vertikal */}
/* Skalieren */.resize { transform: scale(1.2); /* gleichmässig vergrössern */}
/* Drehen */.rotate { transform: rotate(45deg); /* um 45 Grad drehen */}
/* Kombinieren */.combined { transform: translateY(-10px) rotate(5deg) scale(1.1);}Keyframe-Animationen
Abschnitt betitelt „Keyframe-Animationen“Für komplexere Animationen, die ohne Benutzerinteraktion ablaufen sollen, verwenden Sie Keyframes.
Definition einer Animation
Abschnitt betitelt „Definition einer Animation“@keyframes slide-in { 0% { transform: translateX(-100%); opacity: 0; } 100% { transform: translateX(0); opacity: 1; }}Anwendung einer Animation
Abschnitt betitelt „Anwendung einer Animation“.element { animation-name: slide-in; /* Name der Animation */ animation-duration: 1s; /* Dauer */ animation-timing-function: ease; /* Verlauf */ animation-delay: 0.5s; /* Verzögerung */ animation-iteration-count: 1; /* Wiederholungen (auch: infinite) */ animation-direction: normal; /* Richtung */ animation-fill-mode: forwards; /* Endzustand beibehalten */}Kurzschreibweise
Abschnitt betitelt „Kurzschreibweise“.element { animation: slide-in 1s ease 0.5s 1 normal forwards;}Praktische Beispiele
Abschnitt betitelt „Praktische Beispiele“Button mit Hover-Effekt
Abschnitt betitelt „Button mit Hover-Effekt“.button { background-color: #3498db; color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s, transform 0.2s;}
.button:hover { background-color: #2980b9; transform: translateY(-2px);}
.button:active { transform: translateY(1px);}Einfacher Ladekreisel
Abschnitt betitelt „Einfacher Ladekreisel“@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }}
.spinner { width: 40px; height: 40px; border: 4px solid #f3f3f3; border-top: 4px solid #3498db; border-radius: 50%; animation: spin 1s linear infinite;}Übung: Interaktive Bildergalerie
Abschnitt betitelt „Übung: Interaktive Bildergalerie“ Danke für Ihr Feedback!