Поворот div элемента на 90 градусов с CSS и JavaScript
Быстрый ответ
Если вам необходимо быстро повернуть элемент <div>
, используйте CSS-свойство transform: rotate(90deg);
:
<div style="transform: rotate(90deg);">Повёрнутый на 90°</div>
Таким образом, элемент будет повернут по часовой стрелке на 90° одной командой.
Для добления плавности процессу вращения, используйте следующий код:
div {
transition: transform 0.5s ease-in-out;
}
С помощью этого кода, для вашего элемента div будет создан эффект плавного вращения.
Пошаговое руководство
Использование CSS transform
Для поворота элемента воспользуйтесь функцией transform: rotate(90deg);
. Вот пример кода, с помощью которого можно повернуть <div>
, не используя интерактивных состояний вроде :hover
:
#rotate-me {
transform: rotate(90deg);
}
Настройка стилей после поворота
После вращения элемента возможно нужно будет скорректировать некоторые стилевые свойства, например, ширину, высоту и границы:
#make-over {
width: 100px;
height: 200px;
border: 1px solid black;
transform-origin: top left;
}
Возможности свойства transform
CSS-свойство transform
предоставляет множество возможностей: не только вращение, но и масштабирование, перетаскивание и искажение. Взглянем на пример:
#do-the-wave {
transform: skew(20deg) scale(1.2);
}
Вращение при наведении
Чтобы создать эффект вращения при наведении курсора, используйте псевдокласс :hover
:
#hovercraft {
transition: transform 0.5s;
}
#hovercraft:hover {
transform: rotate(90deg);
}
Вендорные префиксы в ретроспективе
В прошлом, чтобы обеспечить совместимость с различными браузерами, приходилось использовать так называемые вендорные префиксы, например, -webkit-
или -ms-
. Сегодня синтаксис transform
поддерживается большинством современных браузеров без использования дополнительных префиксов. Однако, всегда стоит проверять поддержку свойств для тех случаев, где они все же могут потребоваться.
Визуализация
Вообразим дверь (🚪), которая открывается с севера на юг:
🧭 Текущее положение:
[ 🚪 ]
🧍♀️
Применяя CSS-трансформацию, мы можем заставить дверь открываться с запада на восток:
div {
transform: rotate(90deg);
}
🧭 Новое положение:
🧍♀️ [ 🚪 ]
Теперь дверь поворачивается на 90 градусов вправо. Если бы все домашние ремонты были такими же простыми!
Опыт улучшает качество
Комбинирование трансформаций для создания сложных эффектов
С использованием transform
можно комбинировать вращение, масштабирование и другие эффекты для создания более сложных анимаций:
div {
transform: rotate(90deg) scale(1.5);
}
Коррекция стилей после поворота
Не забывайте, что после вращения элементы могут требовать коррекции положения из-за изменения их размеров. В этом случае может быть полезно использование свойства position
.
Доступность имеет первостепенное значение перед эстетикой
Несмотря на то, что анимации могут оживить ваш сайт, важно убедиться, что они не мешают пользовательскому опыту, особенно для людей, которые используют скринридеры, и не вызывают дискомфорта у пользователей, страдающих от повышенной чувствительности к движениям. Главное здесь – находить баланс между красотой и функциональностью.
Полезные материалы
- transform – CSS: Cascading Style Sheets | MDN – В этом подробном руководстве разбирается работа с свойством CSS
transform
. - Свойство CSS transform | W3Schools – Здесь шаг за шагом разъясняются основы и примеры использования свойства
transform
. - CSS Flip Animation | Дэвид Уолш Блог – В статье объясняется, как создавать анимацию переворота с использованием CSS.
- Can I use... Support tables for HTML5, CSS3, etc – Этот сайт поможет проверить поддержку функции 2D трансформации в различных браузерах.