CSS3 2D-преобразование


CSS3-преобразования

CSS3-преобразования могут перемещать, масштабировать, вращать, удлинять или растягивать элементы.

CSS3 Transforms

Как это работает?

Эффект преобразования заключается в изменении формы, размера и положения элемента.

Вы можете использовать 2D- или 3D-преобразования, чтобы преобразовать ваши элементы.

Наведите курсор мыши на следующие элементы, чтобы увидеть эффекты 2D- и 3D-преобразований:

2D-преобразование
3D-преобразование

Поддержка браузеров

Числа в таблице указывают первую версию браузера, которая поддерживает это свойство.

Числа, после которых указаны -webkit-, -ms- или -moz-, обозначают первую версию браузера, поддерживавшую свойство с префиксом.

Свойство
transform 36.0
4.0 -webkit-
10.0
9.0 -ms-
16.0
3.5 -moz-
3.2 -webkit- 23.0
15.0 -webkit-
12.1
10.5 -o-
transform-origin
(синтаксис с двумя значениями)
36.0
4.0 -webkit-
10.0
9.0 -ms-
16.0
3.5 -moz-
3.2 -webkit- 23.0
15.0 -webkit-
12.1
10.5 -o-

Internet Explorer 10, Firefox и Opera поддерживают свойство transform.

Chrome и Safari требуют версию с префиксом -webkit-.

Примечание:Internet Explorer 9 требует версию с префиксом -ms-.


2D-преобразование

В этой главе вы узнаете о методах 2D-преобразований:

  • translate()
  • rotate()
  • scale()
  • skew()
  • matrix()

В следующей главе вы узнаете о 3D-преобразованиях.

OperaSafariChromeFirefoxInternet Explorer

Пример

div { transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari и Chrome */ }

Попробуйте сами »


Метод translate()

Translate

Метод translate() перемещает элемент из текущего положения в соответствии с параметрами, заданными для позиции слева (ось X) и сверху (ось Y).

OperaSafariChromeFirefoxInternet Explorer

Пример

div { transform: translate(50px,100px); -ms-transform: translate(50px,100px); /* IE 9 */ -webkit-transform: translate(50px,100px); /* Safari и Chrome */ }

Попробуйте сами »

Значение translate (50px, 100px) перемещает элемент на 50 пикселей от левого края и на 100 пикселей от верхнего края.


Метод rotate()

Rotate

Метод rotate() поворачивает элемент по часовой стрелке на заданный угол. Допускаются отрицательные значения, которые поворачивают элемент против часовой стрелки.

OperaSafariChromeFirefoxInternet Explorer

Пример

div { transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari и Chrome */ }

Попробуйте сами »

Значение rotate (30deg) поворачивает элемент на 30 градусов по часовой стрелке.


Метод scale()

Scale

Метод scale() увеличивает или уменьшает размер элемента в зависимости от параметров ширины (ось X) и высоты (ось Y):

OperaSafariChromeFirefoxInternet Explorer

Пример

-ms-transform:scale(2,3); /* IE 9 */ -webkit-transform: scale(2,3); /* Safari */ transform: scale(2,3); /*Стандартный синтаксис*/

Попробуйте сами »

scale(2,3) преобразует ширину в 2 раза от исходного размера, а высоту — в 3 раза от исходного размера.


Метод skew()

Синтаксис

transform:skew(<angle> [,<angle>]);

Содержит два значения параметров, представляющих углы наклона вдоль оси X и оси Y. Если второй параметр пуст, по умолчанию используется 0. Отрицательные параметры указывают на наклон в противоположном направлении.

  • skewX(<angle>); задаёт наклон только вдоль оси X (горизонтальное направление).
  • skewY(<angle>); задаёт наклон только вдоль оси Y (вертикальное направление).
OperaSafariChromeFirefoxInternet Explorer

Пример

div { transform: skew(30deg,20deg); -ms-transform: skew(30deg,20deg); /* IE 9 */ -webkit-transform: skew(30deg,20deg); /* Safari и Chrome */ }

Попробуйте сами »

skew(30deg,20deg)элемент поXоси иYнаклоняет на 20 градусов и 30 градусов вдоль осей.


Метод matrix()

Rotate

Метод matrix() объединяет все методы 2D-преобразования в один.

У метода matrix шесть параметров, включая функции поворота, масштабирования, перемещения (трансляции) и наклона.

OperaSafariChromeFirefoxInternet Explorer

Пример

Используйте метод matrix() для поворота элемента div на 30°.

div { transform:matrix(0.866,0.5,-0.5,0.866,0,0); -ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */ -webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari и Chrome */ }

Попробуйте сами »


Новые свойства преобразования

Ниже перечислены все свойства преобразования:

Свойство Описание CSS
transform Применяется к элементам для 2D- или 3D-преобразований. 3
transform-origin Позволяет изменить положение преобразованного элемента. 3

Методы 2D-преобразования

Функция Описание
matrix(n,n,n,n,n,n) Определяет 2D-преобразование с использованием матрицы из шести значений.
translate(x,y) Определяет 2D-преобразование, перемещающее элемент по осям X и Y.
translateX(n) Определяет 2D-преобразование, перемещающее элемент вдоль оси X.
translateY(n) Определяет 2D-преобразование, перемещающее элемент вдоль оси Y.
scale(x,y) Определяет 2D-преобразование масштабирования, изменяющее ширину и высоту элемента.
scaleX(n) Определяет 2D-преобразование масштабирования, изменяющее ширину элемента.
scaleY(n) Определяет 2D-преобразование масштабирования, изменяя высоту элемента.
rotate(angle) Определяет 2D-поворот, задавая угол в параметре.
skew(x-angle,y-angle) Определяет 2D-преобразование наклона вдоль осей X и Y.
skewX(angle) Определяет 2D-преобразование наклона вдоль оси X.
skewY(angle) Определяет 2D-преобразование наклона вдоль оси Y.
Другие расширения