Клавиша / esc

rotate

Как повернуть элементы на странице просто и быстро.

Время чтения: меньше 5 мин

Кратко

Скопировано

Свойство rotate используют, когда нужно повернуть элемент. Раньше для поворота нужно было использовать свойство transform со значением rotate, что не всегда было удобно. Теперь для этого есть отдельное свойство.

Пример

Скопировано

Поворачиваем элемент на 30 градусов вправо:

        
          
          div {  rotate: 30deg;}
          div {
  rotate: 30deg;
}

        
        
          
        
      

Как пишется

Скопировано

Угол поворота должен указываться в единицах измерения углов.

Если указано одно значение, то элемент будет вращаться вдоль оси z:

        
          
          .element {  rotate: 90deg;}
          .element {
  rotate: 90deg;
}

        
        
          
        
      

К значению величины поворота можно добавить уточнение, по какой из трёх осей (x, y, z) применится значение. Эквивалентно rotateX(), rotateY(), rotateZ():

        
          
          .element {  rotate: x 90deg;}
          .element {
  rotate: x 90deg;
}

        
        
          
        
      

В таком формате можно указать угол наклона только по одной из осей. Не получится задать второе значение в этом же свойстве или ниже.

Можно указать собственный вектор и угол вращения в формате: 3 числа + угол. Аналогично функции rotate3d().

        
          
          .element {  rotate: 0 0 1 45deg;}
          .element {
  rotate: 0 0 1 45deg;
}

        
        
          
        
      

Каждое из трёх чисел отвечает за соответсвующую ось (x, y, z). 0 значит, что вращения по этой оси не будет. Всё, что больше нуля, устанавливает точку на этой оси.
В итоге элемент будет повярнут вокруг точки на пересечении всех трёх осей.

Помните, что все оси по умолчанию выходят из верхнего левого угла элемента. Это можно изменить при помощи transform-origin.

Открыть демо в новой вкладке

Как понять

Скопировано

Отдельное свойство rotate пришло на замену функции rotate(). Не смотря на то, что свойство transform с его функциями очень мощное, часто бывало, что нужно переписывать весь трансформ со всеми его значениями, чтобы изменить только один параметр. Теперь для несложных поворотов можно использовать rotate. Также не нужно запоминать порядок позиционирования функции, в отличие от transform.

rotate поддерживает переходы и анимацию CSS, которые можно делать с помощью :hover и @keyframes.

Открыть демо в новой вкладке