配置Element-Plus主题颜色

步骤一:

下载scss

在打开vue项目的编辑器中打开终端,或者在cmd窗口进入到项目目录

用你的包管理器安装scss,例如使用npm包管理器

npm i sass -D

ps:sass是管理scss文件的

步骤二:

准备定制样式文件

var.scss(定义你想要的颜色变量,都以字符$开头),例如

$xtxColor:#27ba9b;
$helpColor:#e26237;
$sucColor:#1dc779;
$warnColor:#ffb302;
$priceColor:#cf4444;

index.scss用来覆盖elementui的颜色样式,例如:

@forward 'element-plus/theme-chalk/src/common/var.scss' 
with (
    $colors: (
        'primary':(
            //主色
            'base':#27ba9b,
        ),
        'success':(
            //成功色
            'base':#1dc779,
        ),
        'warning':(
            //警告色
            'base':#ffb302,
        ),
        'danger':(
            //主色
            'base':#e26237,
        ),
        'error':(
            //主色
            'base':#cf4444,
        ),
    ),
);

@forward 指令用于将一个或多个其他文件的内容合并到当前文件中,但不会在当前文件中直接包含被转发文件的样式。这使得 @forward 成为模块化 Sass 代码、创建可重用库以及组织大型项目时的一个有用工具。对于上述代码来说就是将var.scss合并到当前文件了

'primary':( //主色 'base':#27ba9b, )前面的primary对应的是elementui的样式名,其他也是,名字要与elementui一致才能覆盖

步骤三:

配置vite文件

import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver({importStyle:"sass"})],
    }),
  ],
  css:{
    preprocessorOptions:{//导入样式表
      scss:{
        additionalData:`
        @use "@/styles/element/index.scss" as *;                 
        @use "@/styles/var.scss" as *;
`
      }
    }
  },
  resolve: {
    
  }
})

关键在于

 Components({
      resolvers: [ElementPlusResolver({importStyle:"sass"})],
    }),

接下来就可以测试样式了,比如页面有一个按钮:

<el-button type="primary"></el-button>

因为进行了上述配置,primary将不会显示elementui原有的颜色,而是显示十六进制为#27ba9b的颜色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值