Генератор трансформаций

Визуально создавайте и предварительно просматривайте CSS свойства transform.

CSS Transform - это мощное CSS свойство, которое позволяет преобразовывать веб-элементы в 2D или 3D пространстве. С помощью трансформаций, таких как translate, rotate, scale и skew, вы можете создавать динамичные и интерактивные веб-дизайны. Легко создавайте желаемые эффекты с предварительным просмотром в реальном времени.

Настройки трансформации
Настройте каждое свойство трансформации
Предварительный просмотр
Проверьте созданный эффект трансформации
Transform
Сгенерированный CSS
transform: none;
Готовые настройки
Попробуйте предопределенные стили трансформации
Справочник функций трансформации

Функции трансформации

  • translate(x, y): translate(x, y): Перемещает элемент на x, y
  • scale(x, y): scale(x, y): Масштабирует элемент в x, y раз
  • rotate(angle): rotate(angle): Поворачивает элемент на угол
  • skew(x, y): skew(x, y): Искажает элемент на x, y градусов

Советы по использованию

  • • Несколько функций трансформации можно комбинировать через пробелы
  • • Изменяйте точку трансформации с transform-origin
  • • Используйте с transition для создания анимационных эффектов
  • • Используйте свойство perspective для 3D трансформаций
📚 Полное руководство по CSS Transform
Детальное руководство для освоения CSS Transform

🎯 Основные концепции Transform

CSS Transform - это CSS свойство, которое изменяет форму, размер и положение элементов. Оно позволяет визуальную трансформацию элементов без нарушения нормального потока документа.

Базовый синтаксис:

transform: function(value) function(value) ...;

📐 Детали функций трансформации

🔄 Translate (Перемещение)

  • translate(x, y): translate(x, y): Перемещение по осям X, Y
  • translateX(x): translateX(x): Перемещение только по оси X
  • translateY(y): translateY(y): Перемещение только по оси Y
  • translate3d(x, y, z): translate3d(x, y, z): 3D перемещение
transform: translate(50px, 100px);

📏 Scale (Масштабирование)

  • scale(x, y): scale(x, y): Масштабирование по осям X, Y
  • scaleX(x): scaleX(x): Масштабирование только по оси X
  • scaleY(y): scaleY(y): Масштабирование только по оси Y
  • • Больше 1 увеличивает, меньше 1 уменьшает
transform: scale(1.5, 0.8);

🔄 Rotate (Поворот)

  • rotate(angle): rotate(angle): Поворот вокруг оси Z
  • rotateX(angle): rotateX(angle): Поворот вокруг оси X
  • rotateY(angle): rotateY(angle): Поворот вокруг оси Y
  • • Используйте единицы deg, rad, turn для углов
transform: rotate(45deg);

📐 Skew (Искажение)

  • skew(x, y): skew(x, y): Искажение по осям X, Y
  • skewX(angle): skewX(angle): Искажение по оси X
  • skewY(angle): skewY(angle): Искажение по оси Y
  • • Преобразование в форму параллелограмма
transform: skew(15deg, 5deg);

🎨 Transform Origin (Точка трансформации)

Свойство transform-origin устанавливает точку начала трансформации. По умолчанию это центр элемента (50% 50%).

Использование ключевых слов

transform-origin: top left;

Использование процентов

transform-origin: 25% 75%;

Использование пикселей

transform-origin: 10px 20px;

⚡ Советы по оптимизации производительности

✅ Рекомендации

  • • Анимируйте только transform и opacity
  • • Используйте свойство will-change
  • • Используйте 3D ускорение (translateZ(0))
  • • Создавайте композитные слои для лучшей производительности

❌ Чего следует избегать

  • • Анимация width, height
  • • Анимация позиций left, top
  • • Чрезмерное вложение transform
  • • Ненужное использование will-change

Пример оптимизации производительности:

.optimized {
will-change: transform;
transform: translateZ(0); /* 3D 가속 */
transition: transform 0.3s ease;
}

🎬 Анимация и переходы

Transform можно использовать с CSS Transition и Animation для создания плавных эффектов.

Пример перехода

.hover-effect {
transition: transform 0.3s ease;
}
.hover-effect:hover {
transform: scale(1.1) rotate(5deg);
}

Пример keyframe анимации

@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-20px); }
}
.bounce { animation: bounce 1s infinite; }

🌐 Совместимость с браузерами

CSS Transform поддерживается во всех современных браузерах, но для старых браузеров могут понадобиться вендорные префиксы.

Пример вендорных префиксов:

-webkit-transform: rotate(45deg); /* Safari, Chrome */
-moz-transform: rotate(45deg); /* Firefox */
-ms-transform: rotate(45deg); /* IE 9 */
transform: rotate(45deg); /* 표준 */

🎯 Примеры реального использования

Эффект наведения на карточку

.card {
transition: transform 0.3s ease;
cursor: pointer;
}
.card:hover {
transform: translateY(-10px) scale(1.02);
}

Загрузочный спиннер

@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.spinner {
animation: spin 1s linear infinite;
}

Эффект появления модального окна

.modal {
transform: scale(0) rotate(180deg);
transition: transform 0.3s ease;
}
.modal.show {
transform: scale(1) rotate(0deg);
}

Эффект нажатия кнопки

.button {
transition: transform 0.1s ease;
}
.button:active {
transform: scale(0.95);
}

🔧 Отладка и инструменты разработки

Инструменты разработчика браузера

  • • Редактирование в реальном времени в панели Elements
  • • Проверка финальных значений во вкладке Computed
  • • Анализ производительности с вкладкой Performance
  • • Проверка структуры слоев с 3D View

Полезные CSS свойства

  • transform-style: preserve-3d
  • perspective: 1000px
  • backface-visibility: hidden
  • will-change: transform

💡 Профессиональные советы

Совет по производительности

Использование transform3d() или translateZ(0) для создания композитных слоев для GPU ускорения может значительно улучшить производительность анимации.

Совет по доступности

Используйте медиа-запрос prefers-reduced-motion для предоставления альтернатив пользователям, чувствительным к движению.

Совет по дизайну

Правильная установка transform-origin может создать более естественные эффекты трансформации.

Совет по разработке

Использование CSS переменных для динамического контроля значений transform облегчает интеграцию с JavaScript.

    Генератор трансформаций