Трёхмерные преобразования: rotateX, rotateY, translateZ
Вращайте и перемещайте элементы в трёхмерном пространстве с помощью функций трёхмерных преобразований CSS.
«Трёхмерные преобразования: rotateX, rotateY, translateZ» — бесплатный урок CSS Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения CSS Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс CSS Academy содержит 4 уроков всего.
Обзор 3D-преобразований
3D-преобразования CSS расширяют двумерную систему третьим измерением с помощью оси Z. Включите 3D, задав родителю perspective, а для вложенных 3D-элементов — transform-style: preserve-3d.
rotateX()
rotateX(angle) поворачивает элемент вокруг горизонтальной оси X — как будто переворачивает страницу к себе или от себя.
<div class="page"><div class="leaf">Leaf</div></div>rotateY()
rotateY(angle) поворачивает элемент вокруг вертикальной оси Y — как дверь на петлях.
<div class="card-flip demo-active"><div class="card">Card</div></div>rotateZ()
rotateZ(angle) идентична двумерной функции rotate() — это вращение в плоскости экрана.
rotate3d()
rotate3d(x, y, z, angle) поворачивает элемент вокруг пользовательского вектора оси 3D. Значения x, y и z задают направление оси.
<div class="element">3D</div>translateZ()
translateZ() перемещает элемент к наблюдателю или от него вдоль оси Z. Положительные значения приближают элемент, а отрицательные — удаляют.
<div class="scene-z">
<div class="layer-front">Front</div>
<div class="layer-back">Back</div>
</div>translate3d()
translate3d(x, y, z) одновременно перемещает элемент по всем трём осям. Использование translateZ(0) принудительно переносит элемент на слой GPU — это распространённый приём оптимизации производительности.
<div class="animated">GPU layer</div>scale3d()
scale3d(x, y, z) изменяет масштаб в трёх измерениях. scaleZ() изменяет глубину — это полезно для граней 3D-куба.
Пример 3D-куба
Создание куба с помощью 3D-преобразований шести граней:
<div class="cube-scene">
<div class="cube">
<div class="cube-face front">Front</div>
<div class="cube-face back">Back</div>
<div class="cube-face left">Left</div>
<div class="cube-face right">Right</div>
<div class="cube-face top">Top</div>
<div class="cube-face bottom">Bottom</div>
</div>
</div>Параллакс-эффект в 3D
Использование translateZ на дочерних элементах создаёт глубину в прокручиваемой 3D-сцене (параллакс в CSS):
<div class="parallax-scene">
<div class="far-layer">Far layer</div>
<div class="close-layer">Close layer</div>
</div>Аппаратное ускорение
3D-преобразования, даже такие простые, как translateZ(0), принудительно перемещают элемент на отдельный слой GPU. Это предотвращает отрисовку во время анимации, но использует память GPU. Применяйте этот приём осознанно, а не повсеместно.
Быстрая проверка
Какая функция преобразования перемещает элемент вдоль оси Z, то есть к наблюдателю или от него?
Итоги
3D-преобразования CSS используют rotateX/Y/Z() для вращения вокруг каждой оси и translateZ() для перемещения в глубину. Включайте настоящий 3D-контекст с помощью perspective у родителя и transform-style: preserve-3d. Используйте backface-visibility: hidden для эффектов переворота. 3D-преобразования принудительно переносят элементы на слои GPU, обеспечивая плавную анимацию.
Изучай CSS с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 40
- Уроки
- 159
Часто задаваемые вопросы
Урок «Трёхмерные преобразования: rotateX, rotateY, translateZ» бесплатный?
Да — полный текст урока «Трёхмерные преобразования: rotateX, rotateY, translateZ» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс CSS Academy, подпишись на CoddyKit PRO. Курс CSS Academy содержит 4 уроков всего.
Чему я научусь в уроке «Трёхмерные преобразования: rotateX, rotateY, translateZ»?
Вращайте и перемещайте элементы в трёхмерном пространстве с помощью функций трёхмерных преобразований CSS. Ты практикуешь CSS Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать CSS Academy?
Предыдущий опыт не требуется. CSS Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Трёхмерные преобразования: rotateX, rotateY, translateZ»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке CSS Academy?
Да. Каждый урок CSS Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Перемещение, вращение и масштабирование
- Искажение и матричные преобразования
- Начало преобразования и перспектива
- Трёхмерные преобразования: rotateX, rotateY, translateZ