变换生成器
直观地创建和预览 CSS 变换属性。
CSS Transform 是一个强大的 CSS 属性,可让您在 2D 或 3D 空间中变换 Web 元素。通过平移、旋转、缩放和倾斜等变换,您可以创建动态和交互式的 Web 设计。通过实时预览轻松创建所需的效果。
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: function(value) function(value) ...;📐 变换函数详情
🔄 平移(移动)
- • 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(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(angle): rotate(angle): 围绕 Z 轴旋转
- • rotateX(angle): rotateX(angle): 围绕 X 轴旋转
- • rotateY(angle): rotateY(angle): 围绕 Y 轴旋转
- • 对角度使用 deg, rad, turn 单位
transform: rotate(45deg);📐 倾斜(剪切)
- • skew(x, y): skew(x, y): 沿 X, Y 轴倾斜
- • skewX(angle): skewX(angle): 沿 X 轴倾斜
- • skewY(angle): skewY(angle): 沿 Y 轴倾斜
- • 变换为平行四边形形状
transform: skew(15deg, 5deg);🎨 变换原点(变换点)
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 位置进行动画处理
- • 过多的变换嵌套
- • 不必要的 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);
}关键帧动画示例
@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);
}🔧 调试和开发工具
浏览器开发工具
- • 在元素面板中实时编辑
- • 在计算选项卡中检查最终值
- • 使用性能选项卡进行性能分析
- • 使用 3D 视图检查层结构
有用的 CSS 属性
- • transform-style: preserve-3d
- • perspective: 1000px
- • backface-visibility: hidden
- • will-change: transform
💡 专业技巧
性能技巧
使用 transform3d() 或 translateZ(0) 创建复合层以进行 GPU 加速可以显著提高动画性能。
可访问性技巧
使用 prefers-reduced-motion 媒体查询为对运动敏感的用户提供替代方案。
设计技巧
正确设置 transform-origin 可以创建更自然的变换效果。
开发技巧
使用 CSS 变量动态控制变换值使 JavaScript 集成更容易。