To już podstawy podstaw animowania elementów, ale dla kronikarskiego obowiązku o tym wspominam. Tworzymy animację pseudo-klasą hover, która ma się wykonywać płynnie, z pewnym opóźnieniem – różnym dla każdej animowanej właściwości, jeżeli trzeba.

Animować będziemy nasz element <h1>:

<h1>My heading</h1>

Dodajemy style, w tym zmianę koloru po najechaniu myszą używając pseudo-klasę hover:

h1 {
  font-weight: bold;
 }

h1:hover {
  color:tomato;
}

Teraz nasza animacja co prawda się wykonuje, ale przejście jest natychmiastowe. Nie wygląda to dobrze w dzisiejszych czasach. Musimy nadać transition.

Transition nadajemy na elemencie animowanym i przekazujemy co jest animowane oraz jakiej długości spowolnienie ma animacja mieć. Ten kod spowolni wszystkie animacje elementu h1 do pół sekundy:

h1 {
 font-weight: bold;
 transition: all .5s;
}

Oczywiście nie ma potrzeby (ani nie jest to dobrą praktyką) podawać wszystkiego jako 'all’. Animujemy kolor, więc:

h1 {
  font-weight: bold;
  transition: color .5s;
}

Opcjonalnie możemy też podać rodzaj animacji:

h1 {
  font-weight: bold;
  transition: color .5s ease-in;
}

Oczywiście nasza animacja może animować wiele różnych rzeczy na raz:

h1:hover {
  color:tomato;
  letter-spacing: 2px;
 }

My zaś możemy różnym animowanym właściwościom ustalić różne opóźnienie oraz rodzaj animacji:

h1 {
 font-weight: bold;
 transition: color .5s ease-in, letter-spacing 2s ease-out;
}

No chyba, że nie robi nam to żadnej różnicy – wtedy możemy uciec się do all:

h1 {
 font-weight: bold;
 transition: all .5s ease-in;
}

Zawsze pamiętajmy – transition nadajemy na elemencie animowanym, nie zaś samej animacji.