Урок 43. Примеры: Трансформации: transform, 2D/3D

📁 Раздел: Организация CSS ⏱️ Время изучения: ~75 мин 🎯 Сложность: Средняя
#transform #translate #rotate #scale #perspective #rotatex #transform-origin

⚡ Кратко

Главный плюс transform: результат виден сразу, даже без анимации. Каждое превью ниже — реальный блок, к которому применён transform прямо в стилях. Сравнивай «как было бы» (пунктирный контур) с «как стало» (цветной блок).

В каждом примере цветной блок — это результат transform. Где уместно, пунктирная рамка показывает исходное место, которое элемент всё ещё занимает в потоке.

1. translate — сдвиг

translate(20px, 10px) двигает блок вправо и вниз. Пунктир — исходное место.

translate(20px, 10px)
.box {
  transform: translate(20px, 10px);
}

2. scale — масштаб

scale(1.2) увеличивает блок на 20% от центра — он наезжает на пунктирную исходную область.

scale(1.2)
.box {
  transform: scale(1.2);
}

3. rotate — поворот

rotate(15deg) поворачивает блок по часовой стрелке вокруг центра.

rotate(15deg)
.box {
  transform: rotate(15deg);
}

4. skew — наклон

skewX(10deg) скашивает грани — прямоугольник становится параллелограммом.

skewX(10deg)
.box {
  transform: skewX(10deg);
}

5. transform-origin — точка опоры

Один и тот же rotate(20deg), но разные точки опоры: слева — центр (по умолчанию), справа — левый верхний угол. Origin меняет, куда «уезжает» элемент.

center
origin: center
top left
origin: top left
.a { transform: rotate(20deg); transform-origin: center; }
.b { transform: rotate(20deg); transform-origin: top left; }

6. 3D: perspective + rotateY

Родителю задана perspective: 600px, карточке — rotateY(35deg). Правый край уходит в глубину — реальный 3D-наклон, видимый статично.

rotateY(35deg)
.scene { perspective: 600px; }
.card  { transform: rotateY(35deg); }
Эксперимент: открой превью в DevTools (F12), найди блок и поменяй число в transform прямо в панели Styles — результат обновится мгновенно.

Навигация