Element Plus SCSS 变量覆盖用法

安装依赖

powershell 复制代码
pnpm i sass -D

样式文件

element-plus-vars.scss

css 复制代码
// 覆盖变量
@forward "element-plus/theme-chalk/src/common/var.scss" with (
  $colors: (
    "primary": (
      "base": #4080ff,
    ),
    "success": (
      "base": #23c343,
    ),
    "warning": (
      "base": #ff9a2e,
    ),
    "danger": (
      "base": #f76560,
    ),
    "info": (
      "base": #a9aeb8,
    ),
  ),

  $bg-color: (
    "page": #f5f8fd,
  )
);
// 引入 Element Plus 样式(必须在覆盖变量后)
@use "element-plus/theme-chalk/src/index.scss";

element-plus.scss

css 复制代码
/**
 * element-plus 组件样式覆盖
 */
// 变量覆盖(必须在最前面)
@use "./element-plus-vars";
// 引入 Element Plus 样式(必须在覆盖变量后)
@use "element-plus/theme-chalk/src/index.scss";
...

导入样式

index.scss

css 复制代码
// 重置样式
@use "./reset";

// element-plus
@use "./element-plus";
...

main.js

javascript 复制代码
...
// ===== 样式导入 =====
import "@/assets/styles/index.scss";
...

vite.config.js

javascript 复制代码
...
// 自动导入
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
...
plugins: [
    vue(),
    // 自动导入 Element Plus 组件和函数,无需手动 import
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    // 自动注册 Element Plus 组件,可在模板中直接使用,采用sass样式配色
    Components({
      resolvers: [ElementPlusResolver({ importStyle: "sass" })],
    }),
  ],  
...
相关推荐
啥都不懂的小小白2 小时前
Vue Ajax与状态管理完全指南:从数据请求到全局状态控制
vue.js·ajax·vuex·插槽系统
多看书少吃饭2 小时前
文件预览的正确做法:从第三方依赖到企业级自建方案(Vue + Java 实战)
java·前端·vue.js
菜鸟很沉2 小时前
Vue3 + Element Plus 实现大文件分片上传组件(支持秒传、断点续传)
javascript·vue.js
Amumu121382 小时前
Vue核心(一)
前端·javascript·vue.js
敲敲了个代码2 小时前
React 官方纪录片观后:核心原理解析与来龙去脉
前端·javascript·react.js·面试·架构·前端框架
一直都在5722 小时前
Spring3整合MyBatis实现增删改查操作
前端·vue.js·mybatis
钟佩颖2 小时前
Vue....
前端·javascript·vue.js
匠心网络科技3 小时前
前端框架-Vue双向绑定核心机制全解析
前端·javascript·vue.js·前端框架
刘一说13 小时前
Vue3 组合式 API(Composition API):逻辑复用的革命性实践
vue.js·vue