Junior
Do czego służą klatki kluczowe i jak działają?
sobes.tech AI
Odpowiedź od AI
@keyframes — reguła CSS definiująca kluczowe klatki animacji. Pozwala na utworzenie sekwencji stanów elementu w różnych momentach czasu, które przeglądarka będzie płynnie interpolować, tworząc efekt ruchu. Działa poprzez zdefiniowanie zestawu stylów dla elementu w określonych procentach czasu (od 0% do 100%) lub przy użyciu słów kluczowych from (0%) i to (100%).
Aby użyć keyframes, należy:
- Zdefiniować regułę
@keyframesz unikalną nazwą. - Wewnątrz
@keyframesokreślić style dla różnych punktów czasowych (w procentach lubfrom/to). - Zastosować utworzoną animację do elementu za pomocą właściwości CSS
animation.
@keyframes slidein {
from {
transform: translateX(0%); // Stan początkowy: brak przesunięcia w osi X
}
to {
transform: translateX(100%); // Stan końcowy: przesunięcie o 100% w osi X
}
}
.element {
animation-name: slidein; // Nazwa animacji zdefiniowana powyżej
animation-duration: 3s; // Czas trwania animacji
animation-timing-function: ease-in-out; // Funkcja prędkości animacji
animation-delay: 1s; // Opóźnienie przed rozpoczęciem animacji
animation-iteration-count: infinite; // Liczba powtórzeń (tutaj nieskończoność)
animation-direction: alternate; // Kierunek animacji (naprzemiennie, normalny i odwrotny)
}
Główne właściwości animation, używane razem z @keyframes:
| Właściwość | Opis |
|---|---|
animation-name |
Nazwa @keyframes, które mają zostać zastosowane. |
animation-duration |
Czas trwania jednego cyklu animacji (np. 2s, 500ms). |
animation-timing-function |
Funkcja prędkości animacji (np. linear, ease, ease-in, cubic-bezier). |
animation-delay |
Opóźnienie przed rozpoczęciem animacji (np. 1s). |
animation-iteration-count |
Liczba powtórzeń animacji (infinite dla nieskończonego powtarzania). |
animation-direction |
Kierunek animacji (normal, reverse, alternate, alternate-reverse). |
animation-fill-mode |
Określa, które style są stosowane do elementu przed i po animacji. |
animation-play-state |
Określa, czy animacja jest w trakcie czy wstrzymana. |