Чтобы сделать вращения по осям X и Y заметными, нужно учитывать перспективу. Перспектива добавляет глубину к элементам, позволяя визуально различать вращение по осям X и Y. В CSS для этого используются свойства
perspective и transform.🚩Пример использования
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.container {
perspective: 800px;
}
.box {
width: 100px;
height: 100px;
background-color: lightblue;
margin: 50px;
transform-style: preserve-3d;
transition: transform 1s;
}
.rotate-x {
transform: rotateX(45deg);
}
.rotate-y {
transform: rotateY(45deg);
}
</style>
</head>
<body>
<div class="container">
<div class="box rotate-x"></div>
<div class="box rotate-y"></div>
</div>
</body>
</html>
🚩Объяснение
🟠Контейнер с перспективой
Определяет глубину перспективы. Меньшие значения делают перспективу более выраженной, большие значения — более плоской.
.container {
perspective: 800px;
}
🟠Элемент с трехмерной трансформацией
Обеспечивает сохранение трехмерных преобразований для потомков элемента. Добавляет плавный переход при изменении трансформации.
.box {
width: 100px;
height: 100px;
background-color: lightblue;
margin: 50px;
transform-style: preserve-3d;
transition: transform 1s;
} 🟠Вращение по оси X
Вращает элемент на 45 градусов вокруг оси X.
.rotate-x {
transform: rotateX(45deg);
} 🟠Вращение по оси Y
Вращает элемент на 45 градусов вокруг оси Y.
.rotate-y {
transform: rotateY(45deg);
} 🚩Зачем это нужно
🟠Перспектива
Добавляет визуальную глубину, делая трехмерные эффекты более реалистичными.
🟠Трехмерные эффекты
Вращение по осям X и Y без перспективы не будет выглядеть объемным. Перспектива помогает зрительно отличить, что элемент вращается в трехмерном пространстве.
Ставь 👍 и забирай 📚 Базу знаний