CSS-свойство `rotate`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с августа 2022 года.
Свойство rotate CSS позволяет задавать преобразования вращения отдельно и независимо от свойства transform. Это лучше соответствует типичному использованию в пользовательских интерфейсах и избавляет от необходимости помнить точный порядок функций преобразования, задаваемых в свойстве transform.
Попробуйте
rotate: none;
rotate: -45deg;
rotate: z 45deg;
rotate: x 45deg;
rotate: y 45deg;
rotate: 3 0.5 2 45deg;
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">
<div class="face front">1</div>
<div class="face back">2</div>
<div class="face right">3</div>
<div class="face left">4</div>
<div class="face top">5</div>
<div class="face bottom">6</div>
</div>
</section>
#default-example {
background: linear-gradient(skyblue, khaki);
perspective: 550px;
}
#example-element {
width: 100px;
height: 100px;
transform-style: preserve-3d;
}
.face {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
position: absolute;
backface-visibility: inherit;
font-size: 60px;
color: white;
}
.front {
background: rgb(90 90 90 / 0.7);
transform: translateZ(50px);
}
.back {
background: rgb(0 210 0 / 0.7);
transform: rotateY(180deg) translateZ(50px);
}
.right {
background: rgb(210 0 0 / 0.7);
transform: rotateY(90deg) translateZ(50px);
}
.left {
background: rgb(0 0 210 / 0.7);
transform: rotateY(-90deg) translateZ(50px);
}
.top {
background: rgb(210 210 0 / 0.7);
transform: rotateX(90deg) translateZ(50px);
}
.bottom {
background: rgb(210 0 210 / 0.7);
transform: rotateX(-90deg) translateZ(50px);
}
Синтаксис
/* Keyword values */ rotate: none; /* Angle value */ rotate: 90deg; rotate: 0.25turn; rotate: 1.57rad; /* x, y, or z axis name plus angle */ rotate: x 90deg; rotate: y 0.25turn; rotate: z 1.57rad; /* Vector plus angle value */ rotate: 1 1 1 90deg; /* Global values */ rotate: inherit; rotate: initial; rotate: revert; rotate: revert-layer; rotate: unset;
Значения
- значение угла
<angle>, задающее угол поворота элемента вокруг оси Z. Эквивалентно функцииrotate()(двумерное вращение).- имя оси x, y или z и значение угла
- Имя оси, вокруг которой нужно повернуть элемент (
x,yилиz), и<angle>, задающее угол поворота элемента. Эквивалентно функцииrotateX()/rotateY()/rotateZ()(трёхмерное вращение). - вектор и значение угла
- Три
<number>, представляющие вектор с началом в начале координат, который задаёт ось вращения элемента, и<angle>, задающее угол поворота элемента. Эквивалентно функцииrotate3d()(трёхмерное вращение). -
none - Указывает, что вращение не должно применяться.
Формальное определение
| Исходное значение | none |
|---|---|
| Применяется к | элементам, допускающим преобразование |
| Наследуется | нет |
| Вычисленное значение | как задано |
| Тип анимации | преобразование |
Формальный синтаксис
rotate =
none |
<angle> |
[ x | y | z | <number>{3} ] &&
<angle>
Примеры
Вращение элемента при наведении
В следующем примере показано, как использовать свойство rotate для вращения элемента вокруг различных осей при наведении. Первый блок поворачивается на 90 градусов вокруг оси Z при наведении, второй — на 180 градусов вокруг оси Y, а третий — на 360 градусов вокруг вектора, заданного координатами.
HTML
<div class="box" id="box1">rotate Z</div> <div class="box" id="box2">rotate Y</div> <div class="box" id="box3">vector & angle</div>
CSS
.box {
display: inline-block;
margin: 1em;
min-width: 6.5em;
line-height: 6.5em;
text-align: center;
transition: 1s ease-in-out;
border: 0.25em dotted;
}
#box1:hover {
rotate: 90deg;
}
#box2:hover {
rotate: y 180deg;
}
#box3:hover {
rotate: 1 2 1 360deg;
}
Результат
Спецификации
| Спецификация |
|---|
| Модуль CSS Transforms, уровень 2 # propdef-rotate |
Совместимость с браузерами
| Настольные устройства | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
rotate |
104 |
104 |
72 |
90 |
14.1 |
104 |
79 |
71 |
14.5 |
20.0 |
104 |
14.5 |
none |
104 |
104 |
72 |
90 |
14.1 |
104 |
79 |
71 |
14.5 |
20.0 |
104 |
14.5 |
x_y_z_angle |
104 |
104 |
72 |
90 |
14.1 |
104 |
79 |
71 |
14.5 |
20.0 |
104 |
14.5 |
См. также
Примечание: skew не является независимым значением transform
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/rotate