Перейти к содержанию

transform-origin

Свойство transform-origin устанавливает координаты точки, относительно которой будет происходить трансформация элемента.

Демо

Трансформации

Синтаксис

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* One-value syntax */
transform-origin: 2px;
transform-origin: bottom;

/* x-offset y-offset */
transform-origin: 3cm 2px;

/* x-offset-keyword y-offset */
transform-origin: left 2px;

/* x-offset-keyword y-offset-keyword */
transform-origin: right top;

/* y-offset-keyword x-offset-keyword */
transform-origin: top right;

/* x-offset y-offset z-offset */
transform-origin: 2px 30% 10px;

/* x-offset-keyword y-offset z-offset */
transform-origin: left 5px -3px;

/* x-offset-keyword y-offset-keyword z-offset */
transform-origin: right bottom 2cm;

/* y-offset-keyword x-offset-keyword z-offset */
transform-origin: bottom right 2cm;

/* Global values */
transform-origin: inherit;
transform-origin: initial;
transform-origin: revert;
transform-origin: revert-layer;
transform-origin: unset;

Значения

<x>

Координата по оси X. Может принимать следующие значения:

<размер> | <проценты> | left | center | right

Здесь <размер> — любая единица измерения CSS.

<y>

Координата по оси Y. Может принимать следующие значения:

<размер> | <проценты> | top | center | bottom

<z>

Координата по оси Z. Может задаваться только в любых корректных единицах для измерения длины (исключая проценты).

Оси и значения показаны на рис. 1.

Рис. 1. Оси при трансформации элемента

Отсчёт координат ведётся от левого верхнего угла элемента, по умолчанию точка трансформации находится в его центре, как показано на рисунке выше. При использовании процентов они берутся от размеров элемента.

Примечание

  • Internet Explorer 9 поддерживает свойство -ms-transform-origin.
  • Chrome до версии 36 и Android до версии 4 поддерживают свойство -webkit-transform-origin.
  • Safari поддерживает свойство -webkit-transform-origin.
  • Opera до версии 12.10 и с версии 15 до 23 поддерживает свойство -o-transform-origin.
  • Firefox до версии 16 поддерживает свойство -moz-transform-origin.

Значение по-умолчанию: 50% 50% 0

Применяется к трансформируемым элементам

Спецификации

Поддержка браузерами

CSS Transform 2D:

Can I Use transforms2d? Data on support for the transforms2d feature across the major browsers from caniuse.com.

CSS Transform 3D:

Can I Use transforms3d? Data on support for the transforms3d feature across the major browsers from caniuse.com.

Описание и примеры

Пример 1:

Пример 2:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!doctype html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>transform-origin</title>
        <style>
            div {
                background: #fc0;
                padding: 10px;
                display: inline-block;
                border: 1px solid #000;
            }
            div:hover {
                /* Точка поворота в правом верхнем углу */
                transform-origin: 100% 0;
                /* Поворачиваем на 20 градусов против часовой стрелки */
                transform: rotate(-20deg);
            }
        </style>
    </head>
    <body>
        <div>Пример</div>
    </body>
</html>

Комментарии