Witam w kolejnym wpisie poświęconym tematyce animacji na stronach internetowych. Temat ten jest dość szeroki więc więc na pewno nie dam rady tutaj omówić wszystkich jego aspektów.
Dlatego tym razem zdecydowałam się na efekty, wywoływane poprzez interakcję z użytkownikiem (hover). Będzie to na początku trochę powtórka, ale w dalszej części pojawią się nowe ciekawsze efekty.
Obecnie efekty przejścia (z ang. transitions) stanowią integralną całość z wieloma stronami internetowymi. Pod tą trochę dziwną nazwą kryje się właściwość dzięki, której możemy uzyskać efekt animacji dla wybranego elementu HTML. W dużym skrócie przekształcimy jedną wartość CSS w drugą (np. zmieniając kolor tła z niebieskiego w zielony), stąd też wzięła się polska nazwa tego efektu czyli efekt przejścia.
Najprostszym przykładem animacji jest (jeszcze bez efektu / właściwości transitions):
See the Pen hover animation by Aura (@Julka85) on CodePen.
Kod CSS
.exemple {
width:40%;
height:80px;
background-color:green;
padding:12px;
font-size:1.2em;
border:3px solid #000;
}
.exemple:hover {
width:80%;
background-color:blue;
} Jak widać kolor jak i rozmiar obiektu zmieniają się dopiero po najechaniu kursorem. Oznacza to, że mamy do czynienia z typu :hover. Tak naprawdę na razie nie zrobiliśmy nic specjalnego. To przecież bardzo popularny efekt stosowany na stronach internetowych. Animacja nie jest jednak płynna.
Teraz wprowadzimy drobne zmiany w naszym kodzie. Głównym celem zmiany będzie dodanie płynności do animacji.
See the Pen hover animation by Aura (@Julka85) on CodePen.
Jedyną rzeczą jaką zmieniłam a właściwie dodałam w drugim przykładzie jest dodanie właściwości „transition-duration:3s;„. Powoduje ona, że zmiana będzie wykonywała natychmiastowo a w ciągu 3 sekund. Różnicą widać od razu.
.example {
width:40%;
height:80px;
background-color:green;
padding:12px;
font-size:1.2em;
border:3px solid #000;
transition-duration:3s;
}
.example:hover {
width:80%;
background-color:blue;
} Efekt animacji można z pomocą jednej właściwości (w formie skróconej), jednak by lepiej ją zrozumieć warto poznać inne właściwości, które wpływają na określone funkcje:
| Właściwość | Chrome | IE / Edge | Firefox | Safari | Opera |
|---|---|---|---|---|---|
| transition | 26.0 4.0 -webkit- | 10.0 | 16.0 4.0 -moz- | 6.1 3.1 -webkit- | 12.1 10.5 -o- |
| transition-delay | 26.0 4.0 -webkit- | 10.0 | 16.0 4.0 -moz- | 6.1 3.1 -webkit- | 12.1 10.5 -o- |
| transition-duration | 26.0 4.0 -webkit- | 10.0 | 16.0 4.0 -moz- | 6.1 3.1 -webkit- | 12.1 10.5 -o- |
| transition-property | 26.0 4.0 -webkit- | 10.0 | 16.0 4.0 -moz- | 6.1 3.1 -webkit- | 12.1 10.5 -o- |
| transition-timing-function | 26.0 4.0 -webkit- | 10.0 | 16.0 4.0 -moz- | 6.1 3.1 -webkit- | 12.1 10.5 -o- |
Z ciekawszych funkcji transition-timing-function może przyjmować kilka użytecznych właściwości.
Efekt płynnej animacji z transitions na przykładzie kuł:
See the Pen Untitled by Aura (@Julka85) on CodePen.
Jak widać mamy tu 3 koła, nie powiększają się one jednak w tym samym czasie robią to w kolejności.
W tym wypadku każde koło powiększało się w innym momencie.
Jak inaczej zapisać:
transition: all 3s; Inaczej można zapisać ten wiersz jako:
transition-duration: 3s; Warto przeczytać -> Jak utworzyć efekt Zoom (przybliżenia, oddalenia) na stronie
Innym ciekawym przykładem zastosowania tej funkcji jest:
See the Pen move on hover by Aura (@Julka85) on CodePen.
Jak zapewne już zauważyliście każdy z powyższych kwadratów porusza się w nieco inny sposób. Spowodowane jest to oczywiście ustawieniami właściwości transition. Przykładowo:
transition: all 3s ease-in-out; Po rozbiciu na części / konkretne właściwości CSS zapis ten może wyglądać tak:
transition-timing-function: ease-in-out; transition-duration: 3s; Inne ciekawe przykłady animacji
See the Pen rotate on hover by Aura (@Julka85) on CodePen.
Przekrzywienie obiektu:
See the Pen skewX by Aura (@Julka85) on CodePen.
Jak widać stworzenie ciekawego efektu nie koniecznie musi być trudne. Więcej ciekawych efektów znajdziecie w źródłach.
Źródła:
dodatkowe tagi:
Jak w przypadku wielu różnych tematów tak i w przypadku marki osobistej pojawiło się przez…
Choć zabrzmi to może nieco dziwnie to wprowadzenie AI (sztucznej inteligencji) do naszego życia było…
Widmo Brockenu to dość rzadko spotykane zjawisko optyczne, najczęściej widywane w wysokich partiach gór. Można…
Zacznę może od tego, że relikwia, relikwii nie równa. Wiem jeśli nie ma się pojęcia…
Logo stanowi jeden z ważniejszych elementów tożsamości wizualnej praktycznie każdej firmy, marki czy projektu. Logo…
Budując własną markę osobistą lub chcąc ją zbudować trzeba liczyć się z wieloma wyzwaniami. Jednym…