Vue组件中可直接使用CSS工具类,如Tailwind;推荐用UI组件库(如Naive UI)替代手写样式,优先通过props而非class定制外观;应按需加载CSS、用scoped或CSS Modules实现样式隔离。

直接在Vue组件中使用CSS工具类
Vue单文件组件(.vue)天然支持
以Tailwind为例:安装后配置好tailwind.config.js,并在src/main.js或全局样式入口中@import 'tailwindcss/base'等三部分;接着在组件里就能自由写 像Element Plus、Ant Design Vue、Naive UI这类UI框架,本质是把CSS+JS封装成可复用的Vue组件。它们内部已处理好BEM、主题变量、响应式等细节,你只需导入并使用,例如: 全量引入CSS框架(如 立即学习“前端免费学习笔记(深入)”; Vue默认用CSS框架的组件库替代手写样式
import { NButton } from 'naive-ui' → 在setup中注册并type="primary"、size="large")createTheme或Ant Design的theme对象)实现按需加载CSS避免体积膨胀
import 'bootstrap/dist/css/bootstrap.min.css')会打包所有样式,哪怕只用了一个按钮。更合理的方式是:
postcss-import)拆分基础重置、工具类、组件样式,再按需@importunocss/vite插件,只生成实际用到的原子类css.preprocessorOptions,启用Sass/LESS变量复用,减少重复定义用CSS-in-JS或CSS Modules增强作用域隔离
基本上就这些。核心不是堆砌工具,而是根据项目规模选对层级:小项目用原子CSS快速搭建,中大型项目靠UI组件库+主题系统保一致性,再辅以模块化机制防污染。scoped属性: → Vue自动添加data-v-hash属性,实现样式局部化开启CSS Modules,类名自动哈希化,且可在JS中通过styles.xxx引用:deep(.child)穿透scoped限制,精准控制子组件样式









