Animasjoner
Overganger (Transitions)
En transition animerer endringer i CSS-egenskaper over tid. I stedet for at en farge skifter umiddelbart, kan den gli jevnt over.
.knapp {
background-color: blue;
transition: background-color 0.3s;
}
.knapp:hover {
background-color: darkblue;
}
Transition-egenskaper
Hvilken egenskap som skal animeres:
Hvor lang tid animasjonen tar:
Hover-effekter
Transitions brukes ofte med :hover-pseudoklassen:
Transform
transform lar deg endre et elements posisjon, størrelse og rotasjon uten å påvirke andre elementer.
/* Forstørre */
transform: scale(1.5); /* 150% størrelse */
/* Rotere */
transform: rotate(45deg); /* 45 grader */
/* Flytte */
transform: translateX(20px); /* 20px til høyre */
transform: translateY(-10px); /* 10px opp */
/* Kombinere */
transform: scale(1.1) rotate(5deg);
Animasjoner (@keyframes)
Mens transitions animerer mellom to tilstander, lar @keyframes deg lage mer komplekse animasjoner med flere steg.
from / to
Prosentsteg
animation-egenskapen
/* navn | varighet | timing | forsinkelse | repetisjoner | retning */
animation: fadeIn 1s ease 0s 1 normal;
/* Uendelig repetisjon */
animation: blinke 2s infinite;
/* Frem og tilbake */
animation: blinke 2s infinite alternate;
Transition vs. animation
- Bruk transition for enkle endringer mellom to tilstander (f.eks. hover-effekter)
- Bruk animation for mer komplekse bevegelser, repetisjoner, eller animasjoner som starter av seg selv
Praktiske eksempler
Timing-funksjoner
Timing-funksjoner styrer hastigheten gjennom animasjonen:
| Funksjon | Beskrivelse |
|---|---|
ease |
Starter sakte, raskere i midten, bremser til slutt (standard) |
linear |
Jevn hastighet hele veien |
ease-in |
Starter sakte, blir raskere |
ease-out |
Starter raskt, bremser til slutt |
ease-in-out |
Starter og slutter sakte |
.boks1 { transition: transform 0.5s ease; }
.boks2 { transition: transform 0.5s linear; }
.boks3 { transition: transform 0.5s ease-in; }
.boks4 { transition: transform 0.5s ease-out; }
Referanse
Se CSS-referansen for en komplett oversikt over transitions og transforms.
Oppsummering
| Egenskap | Beskrivelse |
|---|---|
transition |
Animerer endringer mellom to tilstander |
transform |
Endre posisjon, størrelse og rotasjon |
scale() |
Forstørre/forminske |
rotate() |
Rotere |
translateX/Y() |
Flytte horisontalt/vertikalt |
@keyframes |
Definere en animasjon med flere steg |
animation |
Koble en @keyframes-animasjon til et element |
animation: navn 1s infinite |
Uendelig animasjon |