CSS transformace umožňují měnit pozici, rotaci, měřítko a zkosení (skew) elementů v 2D nebo 3D prostoru. Tyto efekty se hodí pro interaktivní prvky, animace a moderní designové prvky.
Všechny transformace se aplikují pomocí vlastnosti transform, která může mít jednu nebo více funkcí.
Posune element z jeho původní pozice.
.posunuty-box {
transform: translateX(50px); /* Posune box o 50px doprava */
}
.tlacitko:hover {
transform: translateY(-5px); /* Tlačítko se při najetí myší mírně zvedne */
}
Otočí element kolem své osy.
.spinner {
transform: rotate(45deg); /* Otočí o 45 stupňů po směru hodinových ručiček */
}
.karta-efekt:hover {
transform: rotateY(180deg); /* Otočení karty kolem vertikální osy */
}
Změní velikost elementu.
.zvetsovatelny-obrazek:hover {
transform: scale(1.1); /* Zvětší obrázek o 10% */
}
Zkosí (nakloní) element. Hodnoty jsou úhly.
.nakloneny-text {
transform: skewX(10deg); /* Nakloní text o 10 stupňů horizontálně */
}
Tato funkce kombinuje všechny 2D transformace do jedné, pomocí šesti číselných hodnot. Je to složitější a používá se spíše pro generování dynamických transformací.
Důležitou vlastností pro transformace je transform-origin, která definuje bod, kolem kterého se transformace aplikuje. Výchozí hodnota je center (střed elementu).
.rotace-z-rohu {
transform-origin: top left; /* Otočí se kolem levého horního rohu */
transform: rotate(45deg);
}