
CSS flip a animace
Jak v CSS otočit obsah kolem svislé nebo vodorovné osy.
Od IE 9 fungují v prohlížečích transformace za použití CSS vlastnosti transform. Jedním z mnoha, co tato vlastnost nabízí, je svislé a vodorovné otočení.
Pro Chrome 35, IE 9 a Safari 8 jsou nutné prefixy. Ve staré Opeře 12 otočení podle osy nefunguje (podporuje jen klasické otočení).
Zápis
.svisle-otoceni {
transform: rotateY(20deg);
}
.vodorovne-otoceni {
transform: rotateX(20deg);
}
Funkce rotateY a rotateX zajistí otočení kolem svislé, respektive vodorovné osy. Hodnota se zadává jako úhel. Kromě animací mají smysl hlavně hodnoty 0–180, potom nebo předtím (hodnota může být i záporná) se otočení opakuje.
Vodorovné otočení:0 deg 180 deg
Svislé otočení:0 deg 180 deg
Vodorovná osa:0 % 100 %
Svislá osa:0 % 100 %
Vlastností transform-origin je možné upravit umístění osy, podle které se bude box překlápět.
Hodnotu je ideální zadávat v pixelech nebo procentech. Výchozí umístění je uprostřed (50%). Osu je možné mít i mimo element. První hodnota je posice vodorovné osy, druhá hodnota potom svislé.
element {
transform-origin: 50% 50%; /* výchozí */
}
3D perspektiva
Zajímavěji může efekt vypadat při použití 3D perspektivy.
To funguje v Chrome, Firefoxu a nové Opeře. Čím nižší hodnota se zadá, tím je „3D efekt“ mocnější.
element {
/* Webkit */
-webkit-perspective: 500;
/* Firefox */
-moz-transform-style: preserve-3d;
-moz-transform: perspective(500px);
}
Otočení jde animovat pomocí transition. V podporovaných prohlížečích se po najetí myší na „Text“ provede otočení.
Praktické použití
Díky této transformaci jde vytvořit poměrně efektní změnu obsahu po najetí myši. (V nepodporovaných prohlížečích se změna odehraje bez animace.)

Co si myslíte o tomto článku?
Diskuse
Související články
CSS item-pack: balance – vyvážené rozložení flex položek
Vlastnost item-pack: balance rozděluje flex položky rovnoměrně mezi řádky, podobně jako text-wrap: balance vyvažuje řádky textu.
CSS Container Queries – responsivní komponenty
Jak pomocí @container, container-type a container-name vytvářet komponenty, které se přizpůsobí velikosti svého rodiče místo viewportu.
CSS Anchor Positioning – posicování elementů relativně k jiným
Jak pomocí anchor-name, position-anchor a funkce anchor() posicovat elementy relativně k jiným bez JavaScriptu.
Centrování na webových stránkách
Moderní způsoby vertikálního i horizontálního centrování v CSS. Flexbox, Grid, margin auto a další techniky.