Свойство transform
Описание
Трансформирует элемент, в частности, позволяет его масштабировать, вращать, сдвигать, наклонять, а также комбинировать виды трансформаций, перечисляя функции трансформации через пробел.
Синтаксис
transform: функция | none;Подробности
| Значение | Описание |
| none | Отменяет действие трансформации. |
| matrix | Задаёт двумерную матрицу преобразований. |
| matrix3d | Задаёт трёхмерную матрицу преобразований. |
| rotate() | Поворачивает элемент в двумерном пространстве на заданный угол относительно точки трансформации, задаваемой свойством transform-origin. |
| rotateX() | Поворачивает элемент на заданный угол относительно оси X. |
| rotateY() | Поворачивает элемент на заданный угол относительно оси Y. |
| rotateZ() | Поворачивает элемент на заданный угол относительно оси Z. |
| rotate3d | Поворачивает элемент в трёхмерном пространстве. |
| scale() | Масштабирует элемент по горизонтали и вертикали. |
| scaleX() | Масштабирует элемент по горизонтали. |
| scaleY() | Масштабирует элемент по вертикали. |
| scaleZ() | Масштабирует элемент по оси Z. |
| scale3d | Масштабирует элемент в трёхмерном пространстве. |
| skew() | Наклоняет элемент на заданный угол по горизонтали и вертикали. |
| skewX() | Наклоняет элемент на заданный угол по горизонтали. |
| skewY() | Наклоняет элемент на заданный угол по вертикали. |
| translate() | Сдвигает элемент на заданное значение по горизонтали и вертикали. |
| translateX() | Сдвигает элемент по горизонтали на указанное значение. Положительное значение сдвигает вправо, отрицательное влево. |
| translateY() | Сдвигает элемент по вертикали на указанное значение. Положительное значение сдвигает вниз, отрицательное вверх. |
| translateZ() | Сдвигает элемент по оси Z на указанное значение. Положительное значение сдвигает вперёд, отрицательное назад. |
| translate3d | Сдвигает элемент на заданное значение в трёхмерном пространстве. |
| perspective() | Задаёт перспективу. |
Пример
<!DOCTYPE html>
<html lang='ru'>
<head>
<meta charset='UTF-8'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<title>Document</title>
</head>
<body>
<style>
.test-content {
display: flex;
flex-wrap: wrap;
}
.test {
width: 100px;
height: 100px;
margin: 10px;
text-align: center;
cursor: pointer;
background-color: rgb(99, 42, 165);
transition: all 0.5s;
}
.test > span {
color: white;
font-family: Arial, Helvetica, sans-serif;
position: relative;
top: 40px;
}
.matrix:hover {
transform: matrix(1.2, 0, 0, 1, 0, 0);
}
.matrix3d:hover {
transform: matrix3d(
0.5,
0,
-0.866025,
0,
0.595877,
1.2,
-1.03209,
0,
0.866025,
0,
0.5,
0,
25.9808,
0,
15,
1
);
}
.rotate:hover {
transform: rotate(45deg);
}
.rotateX:hover {
transform: rotateX(45deg);
}
.rotateY:hover {
transform: rotateY(45deg);
}
.rotateZ:hover {
transform: rotateZ(45deg);
}
.rotate3d:hover {
/* transform: rotate3d(X, Y, Z, deg); */
transform: rotate3d(1, 1, 1, 45deg);
}
.scale:hover {
transform: scale(1.3);
}
.scaleX:hover {
transform: scaleX(1.3);
}
.scaleY:hover {
transform: scaleY(1.3);
}
.scaleZ:hover {
transform: perspective(400px) scaleZ(1.5) translateZ(-50px);
}
.scale3d:hover {
transform: scale3d(-1, 1, 1);
}
.translate:hover {
transform: translate(25px, 20px);
}
.translateX:hover {
transform: translateX(10px);
}
.translateY:hover {
transform: translateY(15px);
}
.translateZ:hover {
transform: perspective(400px) rotateY(15deg) translateZ(30px);
}
.translate3d:hover {
transform: translate3d(10px, 20px, 0);
}
.skew:hover {
transform: skew(20deg, 10deg);
}
.skewX:hover {
transform: skewX(10deg);
}
.skewY:hover {
transform: skewY(10deg);
}
.perspective:hover {
transform: perspective(300px) rotateZ(25deg);
}
</style>
<div class='test-content'>
<div class='test matrix'><span>matrix</span></div>
<div class='test matrix3d'><span>matrix3d</span></div>
<div class='test rotate'><span>rotate</span></div>
<div class='test rotateX'><span>rotateX</span></div>
<div class='test rotateY'><span>rotateY</span></div>
<div class='test rotateZ'><span>rotateZ</span></div>
<div class='test rotate3d'><span>rotate3d</span></div>
<div class='test scale'><span>scale</span></div>
<div class='test scaleX'><span>scaleX</span></div>
<div class='test scaleY'><span>scaleY</span></div>
<div class='test scaleZ'><span>scaleZ</span></div>
<div class='test scale3d'><span>scale3d</span></div>
<div class='test skew'><span>skew</span></div>
<div class='test skewX'><span>skewX</span></div>
<div class='test skewY'><span>skewY</span></div>
<div class='test translate'><span>translate</span></div>
<div class='test translateX'><span>translateX</span></div>
<div class='test translateY'><span>translateY</span></div>
<div class='test translateZ'><span>translateZ</span></div>
<div class='test translate3d'><span>translate3d</span></div>
<div class='test perspective'><span>perspective</span></div>
</div>
</body>
</html>Читайте также
Свойство animation
Используется для создания анимации.
Сокращенная запись для свойств animation-name, animation-duration, animation-timing-function, animation-delay, ...
Стиль для всего элемента, получающего фокус
Псевдокласс :focus-within определяет стиль для всего элемента, получающего фокус. Например, им может быть текстовое поле формы, в которое устанавливае...
Свойство margin-top
Устанавливает величину отступа от верхней границы текущего элемента до внутренней границы его родительского элемента....
Свойство transition-delay
Свойство transition-delay устанавливает время ожидания перед запуском эффекта перехода. Значение 0s запускает анимацию сразу же. Отрицательное значени...