Animacje na wejściu, hover i fokusy
Animacje na wejściu, hover i fokusy
Animacje i efekty interakcji mogą całkowicie odmienić odbiór projektu.
Nie muszą być skomplikowane – ważne, by były subtelne, konsekwentne i dopasowane do kontekstu.
W tej lekcji nauczysz się:
- jak animować pojawianie się elementów na stronie,
- jak dodawać płynne efekty hover do przycisków i kart,
- jak wyróżniać aktywne pola formularzy i inne elementy fokusowalne.
1. Animacje na wejściu
Użyj @keyframes, aby stworzyć płynną animację pojawienia się komponentu:
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-fadeInUp {
animation: fadeInUp 0.6s ease-out forwards;
}
Dodaj tę klasę np. do nagłówka sekcji „hero”:
<h1 class="hero__title animate-fadeInUp">Witamy na stronie</h1>
Możesz też dodać opóźnienie:
.animate-fadeInUp-delay {
animation-delay: 0.3s;
}
2. Hover – reakcja na najechanie
Użytkownik musi widzieć, że coś jest interaktywne.
Najlepiej robić to subtelnie – przez zmianę tła, koloru, cienia, skalę.
.button {
background-color: var(--color-primary);
color: white;
transition: background-color 0.3s ease, transform 0.3s ease;
}
.button:hover {
background-color: #0a58ca;
transform: translateY(-2px);
}
Dla kart:
.card {
transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.card:hover {
box-shadow: 0 6px 18px rgba(0,0,0,0.1);
transform: scale(1.02);
}
3. Efekty fokus (focus) – np. dla formularzy
Pole formularza powinno się wizualnie wyróżnić po kliknięciu.
Przykład stylizacji :focus:
.input {
border: 1px solid #ccc;
padding: var(--space-sm);
border-radius: var(--radius);
transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.input:focus {
border-color: var(--color-primary);
box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.2);
outline: none;
}
4. Dobór czasu i płynności
Unikaj zbyt szybkich lub zbyt wolnych efektów. Dobre wartości to:
transition: ... 0.2s – 0.5sdla hoveraanimation: ... 0.6s – 1sdla wejścia
Używaj funkcji takich jak:
ease– domyślna, miękkaease-out– szybciej na początku, wolniej na końcuease-in-out– miękki start i koniec
Ćwiczenie
Wprowadź animacje do swojego projektu:
- Dodaj klasę z
@keyframesdla tytułu lub CTA w sekcji „hero” - Stwórz efekt hover dla przycisku i karty
- Stwórz styl fokus dla pola formularza
Testuj na różnych urządzeniach – pamiętaj, że zbyt dynamiczne efekty mogą być męczące na telefonie.
Zawsze stawiaj na subtelność i spójność.
Wniosek
Estetyczne efekty to nie ozdoba, ale element komunikacji z użytkownikiem.
Dzięki animacjom, hoverom i fokusom Twoja strona jest bardziej zrozumiała, intuicyjna i przyjemna w odbiorze.
To małe detale – ale robią dużą różnicę.
