CSS 2D Трансформации
CSS 2D Трансформации
CSS-трансформации (преобразования) позволяют перемещать, вращать, масштабировать и наклонять элементы.
Наведите курсор мыши на элемент ниже, чтобы увидеть 2D-трансформацию:
В этой главе вы узнаете о следующем CSS свойстве:
transform
Поддержка браузерами
Числа в таблице указывают первую версию браузера, которая полностью поддерживает свойство.
| Свойство | |||||
|---|---|---|---|---|---|
| transform | 36.0 |
10.0 |
16.0 |
9.0 |
23.0 |
Специальные браузерные префиксы
Некоторым старым браузерам нужны специальные префиксы (-ms- или -webkit-) для понимания свойств 2D-трансформации:
Пример
div
{
-ms-transform: rotate(20deg); /* IE 9 */
-webkit-transform:
rotate(20deg); /* Safari до 9.0 */
transform: rotate(20deg); /*
Стандартный синтаксис */
}
Попробуйте сами »
CSS Методы 2D трансформаций
С помощью CSS свойства transform вы можете использовать следующие методы 2D-трансформации:
translate()rotate()scaleX()scaleY()scale()skewX()skewY()skew()matrix()
Совет: Вы узнаете о 3D преобразованиях в следующей главе.
Метод translate()

Метод translate() перемещает элемент из его текущей позиции (в соответствии с параметрами, указанными для оси X и оси Y).
В следующем примере элемент <div> перемещается на 50 пикселей вправо и на 100 пикселей ниже его текущей позиции:
Метод rotate()
Метод rotate() вращает элемент по часовой или против часовой стрелки в соответствии с заданным градусом.
В следующем примере элемент <div> поворачивается по часовой стрелке на 20 градусов:
Использование отрицательных значений будет вращать элемент против часовой стрелки.
В следующем примере элемент <div> поворачивается против часовой стрелки на 20 градусов:
Метод scale()

Метод scale() увеличивает или уменьшает размер элемента (в соответствии с параметрами, указанными для ширины и высоты).
В следующем примере элемент <div> увеличивается в два раза по сравнению с его первоначальной шириной и в три раза по сравнению с его первоначальной высотой:
В следующем примере элемент <div> уменьшается до половины его первоначальной ширины и высоты:
Метод scaleX()
Метод scaleX() увеличивает или уменьшает ширину элемента.
В следующем примере элемент <div> увеличивается в два раза по сравнению с его первоначальной шириной:
В следующем примере элемент <div> уменьшается до половины его первоначальной ширины:
Метод scaleY()
Метод scaleY() увеличивает или уменьшает высоту элемента.
В следующем примере элемент <div> увеличивается в три раза от его первоначальной высоты:
В следующем примере элемент <div> уменьшается до половины его первоначальной высоты:
Метод skewX()
Метод skewX() наклоняет элемент вдоль оси X на заданный угол.
Следующий пример наклоняет элемент <div> на 20 градусов по оси X:
Метод skewY()
Метод skewY() наклоняет элемент вдоль оси Y на заданный угол.
Следующий пример наклоняет элемент <div> на 20 градусов вдоль оси Y:
Метод skew()
Метод skew() наклоняет элемент вдоль оси X и Y на заданные углы.
В следующем примере элемент <div> наклоняется на 20 градусов по оси X и на 10 градусов по оси Y:
Если второй параметр не указан, он имеет нулевое значение. Итак, следующий пример наклоняет элемент <div> на 20 градусов вдоль оси X:
Метод matrix()
Метод matrix() объединяет все методы 2D-преобразования в один.
Метод matrix() принимает шесть параметров, содержащих математические функции, которые позволяют вращать, масштабировать, перемещать (переводить) и наклонять элементы.
Параметры по порядку следования: matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())
Проверьте себя с помощью упражнений!
CSS Свойства трансформации
В следующей таблице перечислены все свойства 2D-трансформации:
| Свойство | Описание |
|---|---|
| transform | Применяет 2D или 3D трансформацию к элементу |
| transform-origin | Позволяет изменить положение трансформированных элементов |
CSS 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 |

