8.2. Funkce transform

Díky vlastnosti transform můžeme měnit naše objekty různými způsoby. Budeme se zde zabývat případy v 2D. Možné operace jsou změna měřítka (zvětšení, zmenšení), pohyb po směru osy X a osy Y, rotace a náklon.

Posouvání

Posouvání po ose X

Posouvání po ose X, neboli doprava a doleva, nám umožňuje vlastnost translateX(hodnota). V příkladu níže posuneme element o 150px vpravo.

transform: translateX(150px);

Pokud bychom chtěli posunout prvkem doleva, museli bychom dát zápornou hodnotu.

transform: translateX(-150px);

Posouvání po ose Y

Posouání po ose Y, neboli nahoru a dolů, nám umožňuje vlastnost translateY(hodnota). Pro posun nahoru slouží kladná čísla, dolů pak záporná.

transform: translateY(150px); /* posun nahoru */
transform: translateY(-150px); /* posun dolu */

Rotace

Některé prvky lze otáčet pomocí vlastnosti rotate(hodnota). Hodnota je dána ve stupních (deg).

Podívejme se, co se stane se čtvercem, kterému přidáme následující vlastnost:

transform: rotate(45deg);

Jak je vidět, element se otočil o 45 stupňů.

Rotace může být v závislosti na třech osách: X, Y a Z.

rotateX(45deg);
rotateY(45deg);
rotateZ(45deg);

Změna měřítka - škálování

Vybraný element můžeme zvětšovat nebo zmenšovat příslušnou hodnotou vlastnosti scale(hodnota)

Základní hodnota vlastnosti je 1. Pokud chceme element zmenšit, používáme hodnoty 0 - 0.9, pro zvětšení pak 1.1+. V příkladu máme tři totožné elementy s vlastností: scale(0.8), scale(1) a scale(1.2).

Zvětšení měřítka na :hover

Při použití pseudotřídy :hover můžeme vytvářet zajímavé efekty nejen pro tlačítka.

Najeď na mě myší
.button-scale {
    background-color: salmon;
    padding: 20px 100px;
    display: inline-block;
    margin: 20px 0;
    transition: all 0.3 ease-in-out;
}

.button-scale:hover {
    transform: scale(1.2);  
}

Zvětšovat měřítko je možné i pro osu X a Y

Někdy můžeme chtít zvětšit prvek pouze v jednom rozměru. K tomu nám slouží:

transform: scaleX(hodnota)
transform: scaleY(hodnota)

Náklon

Náklon (zkosení) prvku je možné provádět ve dvou osách: X a Y. Náklon v ose X definuje vlastnost transform: skewX(hodnota);;na ose Y pak transform: skewY(hodnota);. Hodnota je opět zadávána ve stupních (deg).

Elementy s vlastností zkosení na ose X z leva: skewX(10deg), skewX(0) a skewX(-10deg):

Elementy s vlastností zkosení na ose Y z leva: skewY(10deg), skewY(0) a skewY(-10deg):

Složení hodnot vlastnosti transform

Může se stát, že chceme použít více variant vlastnosti transform. Například zkosení na ose X, zvětšení, a rotaci. V takovém případě zapisujeme vlastnosti do jednoho řádku a oddělujeme je mezerou.

transform: skewX(10deg) scale(1.15) rotate(45deg);

results matching ""

    No results matching ""