Vue中 class 和 style 属性的区别对比

Vue 中 classstyle 属性的核心区别

维度 class style
作用 动态切换 CSS 类名,复用预定义样式 直接绑定内联样式,动态修改元素的 style 属性
绑定语法 :class(v-bind:class 的简写) :style(v-bind:style 的简写)
支持的数据类型 字符串、对象、数组 对象、数组(字符串仅用于简单静态样式)
典型写法 { active: isActive, 'text-bold': isBold } [class1, class2] { color: 'red', fontSize: '13px' } [s1, s2]
与普通属性共存 可与普通 class 并存,不会覆盖 可与普通 style 并存,不会覆盖
适用场景 需要复用 CSS 类、主题切换、状态类(如 active、error) 样式值由数据实时计算、随机颜色、动态尺寸等
性能建议 推荐使用类选择器而非标签选择器,避免 scoped CSS 产生过慢的属性选择器组合 内联样式优先级高,适合少量动态属性;大量样式仍建议写在 CSS 中

一句话总结

  • :class 做"状态标签",把元素打上/摘下预定义的 CSS 类;
  • :style 做"实时化妆",直接给元素注入动态计算出的内联样式。
相关推荐
FinClip2 分钟前
凡泰极客FinClip荣获2025中国企业IT大奖!AI+超级APP重塑企业AI服务
前端·架构·openai
小酒星小杜9 分钟前
在AI时代下,技术人应该学会构建自己的反Demo地狱系统
前端·vue.js·ai编程
Code知行合壹19 分钟前
Pinia入门
vue.js
今天也要晒太阳47323 分钟前
element表单和vxe表单联动校验的实现
vue.js
kirito707729 分钟前
前端项目架构(基于 monorepo)
前端
去哪儿技术沙龙33 分钟前
Qunar酒店搜索排序模型的演进
前端·架构·操作系统
重铸码农荣光34 分钟前
TypeScript:JavaScript 的“防坑装甲”,写代码不再靠玄学!
前端·react.js·typescript
用户6000718191037 分钟前
【翻译】构建类型安全的复合组件
前端
掘金安东尼1 小时前
向大家介绍《开发者博主联盟》🚀
前端·程序员·github
火车叼位1 小时前
div滚动条是否存在?用 v-scroll-detect 增加一个辅助class
前端