1. 项目中main.js导入默认的暗色主题

@use 'element-plus/theme-chalk/src/dark/css-vars.scss' as *;

 

2. 创建亮色和暗色自定义变量

默认主题:

$--colors: (
  'primary': (
    'base': green,
  ),
  'success': (
    'base': #21ba45,
  ),
  'warning': (
    'base': #f2711c,
  ),
  'danger': (
    'base': #db2828,
  ),
  'error': (
    'base': #db2828,
  ),
  'info': (
    'base': #42b8dd,
  ),
);

// we can add this to custom namespace, default is 'el'
@forward 'element-plus/theme-chalk/src/mixins/config.scss' with (
  $namespace: 'el'
);

// You should use them in scss, because we calculate it by sass.
// comment next lines to use default color
@forward 'element-plus/theme-chalk/src/common/var.scss' with (
  // do not use same name, it will override.
  $colors: $--colors,
  $button-padding-horizontal: ('default': 50px)
);

// if you want to import all
// @use "element-plus/theme-chalk/src/index.scss" as *;

// You can comment it to hide debug info.
// @debug $--colors;

// custom dark variables
@use './dark';

暗色主题:

// only scss variables

$--colors: (
  'primary': (
    'base': #2372d9,
  ),
  'success': (
    'base': #178531,
  ),
);

@forward 'element-plus/theme-chalk/src/dark/var.scss' with (
  $colors: $--colors
);

3. vite.config.js配置添加css配置

  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `@use "@/styles/element/index.scss" as *;`,
        api: 'modern-compiler',
      },
    },
  },

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐