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 做"实时化妆",直接给元素注入动态计算出的内联样式。
相关推荐
小村儿6 分钟前
连载
前端·后端·ai编程
dinl_vin20 分钟前
LangChain 系列·(九):Agent——让 AI 自己做决策
前端·人工智能·langchain
孟祥_成都20 分钟前
前端唯一的护城河?结合 AI 将字节组件库 Headless 化后的感想~
前端·人工智能·react.js
尽欢i28 分钟前
前端大坑!文件切片上传后端总报错找不到文件名?
前端·javascript
Sylvia33.30 分钟前
世界杯数据链路解析:从球场传感器到终端推送的毫秒级架构
java·前端·python·架构
蜡台35 分钟前
Vue + SpringBoot 实现 WebSocket 基于 Sec-WebSocket-Protocol 传参鉴权(避坑指南)
vue.js·spring boot·websocket·sec
镜宇秋霖丶36 分钟前
2026.5.10@霖宇博客制作中遇见的问题
前端·vue.js·elementui
ai超级个体39 分钟前
前端唯一的护城河?结合 AI 将字节组件库 Headless 化后的感想~
前端·react·ai编程·ant design·组件库·vibe coding
冴羽yayujs1 小时前
前端周报:Remix 3、Node 26 与 Chrome 148
前端
问心无愧05131 小时前
ctf show web 入门39
android·前端·笔记