CSS | transition 和 transform的用处和区别

省流总结: transform用于变换/变形,transition是动画控制器

transform 用来对元素进行变形 ,常见的操作如下,它是立即生效的样式变形属性

旋转rotate(角度deg) 、平移translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度deg)

操作 示例 说明
旋转 transform: rotate(180deg) 让元素顺时针旋转 180 度
平移 transform: translateX(100px) 右移动 100 像素
缩放 transform: scale(1.2) 放大到原来的 1.2 倍
倾斜 transform: skewX(30deg) 沿 X 轴倾斜

transition 用来设置 元素样式变化时的 过渡动画效果,它必须配合其他属性(如 transform, opacity, color 等**)的变化使用**。

二者对比:

项目 transform transition
作用 实际改变元素形状、位置等 决定变换过程是否平滑
直接效果 会立即变换 只有当某些属性变化时才起作用
是否动画属性 ❌ 不是动画,只是变换 ✅ 是动画控制器
常配合的属性 translate, rotate transform, opacity, color

问题:transition 和 transform 的用处和区别?

css 复制代码
.header-angle { 
    transition: transform var(vk-duration); 
    &.is-activeed { 
        transform: rotate(180deg); 
    } 
}

transform 是干什么的?

transform 用来对元素进行变形,常见的操作包括:

操作 示例 说明
旋转 transform: rotate(180deg) 让元素顺时针旋转 180 度
平移 transform: translateX(100px) 右移动 100 像素
缩放 transform: scale(1.2) 放大到原来的 1.2 倍
倾斜 transform: skewX(30deg) 沿 X 轴倾斜

它是立即生效的样式变形属性


transition 是干什么的?

transition 用来设置 元素样式变化时的 过渡动画效果,比如:

css 复制代码
transition: transform 0.3s;

它表示:当 transform 发生变化时,用 0.3 秒的时间来渐变地应用这个变化。

⚠️ 注意:transition 不能单独生效,必须配合其他属性(如 transform)的变化使用


✅ 二者关系总结

项目 transform transition
作用 实际改变元素形状、位置等 决定变换过程是否平滑
直接效果 会立即变换 只有当某些属性变化时才起作用
是否动画属性 ❌ 不是动画,只是变换 ✅ 是动画控制器
常配合的属性 translate, rotate transform, opacity, color

🧪 举个实际例子

比如一个按钮带小箭头,你想点击时箭头旋转:

css 复制代码
<div :class="{ 'header-angle': true, 'is-activated': isOpen }">
  ⬇️
</div>

isOpenfalse 变为 true 时:

  • class="header-angle"class="header-angle is-activated"

  • transform: rotate(180deg) 被触发

  • transition 让这个旋转过程是平滑的动画

相关推荐
小兵张健7 小时前
价值1000的 AI 工作流:Codex 通用前端协作模式
前端·aigc·ai编程
sunny_7 小时前
面试踩大坑!同一段 Node.js 代码,CJS 和 ESM 的执行顺序居然是反的?!99% 的人都答错了
前端·面试·node.js
拉不动的猪7 小时前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
ayqy贾杰9 小时前
Agent First Engineering
前端·vue.js·面试
IT_陈寒9 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
iceiceiceice9 小时前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios
大金乄10 小时前
封装一个vue2的elementUI 表格组件(包含表格编辑以及多级表头)
前端·javascript
葡萄城技术团队10 小时前
【性能优化篇】面对万行数据也不卡顿?揭秘协同服务器的“片段机制 (Fragments)”
前端
程序员阿峰11 小时前
2026前端必备:TensorFlow.js,浏览器里的AI引擎,不写Python也能玩转智能
前端
Jans11 小时前
Shipfe — Rust 写的前端静态部署工具:一条命令上线 + 零停机 + 可回滚 + 自动清理
前端