Deel 6: The power of design
Transities en animaties

Transitions
Hover
Eén van de meest gebruikte is de :hover selector.
Hierbij kan je de hover-state stijlen. De hover-state is de visuele status van een element die zich enkel toont wanneer je er met een cursor over zweeft.
a {
background: green;
}
a:hover {
background: blue;
}

Transitions
CSS transitions laat je toe om aangepaste waarden van properties geleidelijk aan te laten toepassen.

Transitions
De link wordt blauw wanneer je er met je muis over zweeft.
de link zal in 0 seconden van een groene
naar blauwe achtergrond springen
link
link

a {
background: green;
}
a:hover,
a:focus {
background: blue;
}
Transitions
Met transition gaat de overgang smoother
a {
background: green;
transition: background 0.2s ease;
}
a:hover,
a:focus {
background: blue;
}
link
link
De tekstkleur zal nu over een periode van 0,2 seconden een transitie hebben van groen naar blauw
link
link
link

Transitions
Met CSS Transitions kan je nagenoeg elke CSS-property laten animeren waarbij er waardes te berekenen zijn tussenin.
wel: width, height, color, font-size, background-position...
niet: text-decoration, display, background-image.
Transitions
.selector {
/* Defaults */
transition: all 0s ease;
transition-property: all;
transition-timing: 0s;
transition-timing-function: ease;
}
Transitions

Transitions
transition-timing-function: Hoe bouwt de transitie zichzelf op?
Transforms
Transforms
Smoothness: veel properties waar je een transitie op zou willen zien zullen een janky animation teweegbrengen.
Bijvoorbeeld: wanneer je een element plots een margin-top geeft, dan moeten alle andere static elementen mee naar onder schuiven.

/* janky animation */
.my-element:hover {
margin-top: 2rem;
}
Met de transform-property kan je een element transformeren zonder de originele opgeëiste ruimte te veranderen.
Hoe minder elementen je in een browser verschuift, hoe performanter de beweging.
Transforms

/* smooth animation */
.my-element:hover {
transform: translateY(2rem);
}
Transform
Met de transform-property kan je super veel aanvangen: translateX(), translateY(), scaleX(), scaleY(), rotate(), skew(), perspective(), ...
Transform
Met transform-origin property kan je aan de browser laten weten vanuit welk punt je het element wilt laten transformeren
Animations
Animations
Transform en transition properties worden vaak gebruikt om een éénmalige overgang tussen 2 verschillende statussen te maken.
Animations zijn overgangen die in een lus herhaald worden.
Animations
Eerst definieer je keyframes, daarna kan je die aanspreken in een selector.
@keyframes heartbeat {
0% {
transform: scale(1);
}
70% {
transform: scale(1);
}
75% {
transform: scale(1.2);
}
80% {
transform: scale(1);
}
85% {
transform: scale(1.2);
}
90% {
transform: scale(1);
}
100% {
transform: scale(1);
}
}
.my-selector {
animation-name: heartbeat;
animation-duration: 4s;
}

Animations
.my-selector {
/* Defaults */
animation-name: none;
animation-duration: 0s;
animation-iteration-count: 1;
animation-timing-function: ease;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: none;
animation-play-state: running;
}
Animations
Keyframes kan je zelf uitschrijven, en kan je zeer leuke dingen mee doen.
Zoek je inspiratie? Er bestaat een animate.css library waar je uit kan kopieren. CSS kan je hier inkijken
Filter
Filters
Filters
Transitions & Animations - lite
By Lecturer GDM
Transitions & Animations - lite
CSS animations and transitions.
- 255