Генератор трансформаций
Визуально создавайте и предварительно просматривайте CSS свойства transform.
CSS Transform - это мощное CSS свойство, которое позволяет преобразовывать веб-элементы в 2D или 3D пространстве. С помощью трансформаций, таких как translate, rotate, scale и skew, вы можете создавать динамичные и интерактивные веб-дизайны. Легко создавайте желаемые эффекты с предварительным просмотром в реальном времени.
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 трансформаций
🎯 Основные концепции 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.