当前位置:   article > 正文

Vue + Element Plus主题色(默认颜色)定制和黑暗模式切换_vue element-plus 修改默认颜色

vue element-plus 修改默认颜色

1.定制主题颜色(默认颜色)

1.先安装 sass scss

  1. # npm 方法安装
  2. npm i sass
  3. npm i scss

2.在 src 创建目录下创建如下文件及文件夹:/src/styles/element/index.scss

3.在 index.scss 文件中设置默认颜色

  1. @forward 'element-plus/theme-chalk/src/common/var.scss' with (
  2. $colors:(
  3. 'primary':(
  4. //主色
  5. 'base':#27ba9b,
  6. ),
  7. 'success':(
  8. //成功色
  9. 'base':#1dc779,
  10. ),
  11. 'warning':(
  12. //警告色
  13. 'base':#ffb302,
  14. ),
  15. 'danger':(
  16. //危险色
  17. 'base':#e26237,
  18. ),
  19. 'error':(
  20. //错误色
  21. 'base':red,
  22. ),
  23. )
  24. )

4.在 vite.config.ts 中让设置好的颜色覆盖element原有的默认颜色

  1. export default defineConfig({
  2. plugins: [
  3. vue(),
  4. AutoImport({
  5. resolvers: [ElementPlusResolver()],
  6. }),
  7. Components({
  8. // 在括号里加了{ importStyle: "sass" }
  9. resolvers: [ElementPlusResolver({ importStyle: "sass" })],
  10. }),
  11. ],
  12. resolve: {
  13. alias: {
  14. "@": fileURLToPath(new URL("./src", import.meta.url)),
  15. },
  16. },
  17. // 覆盖颜色
  18. css: {
  19. preprocessorOptions: {
  20. scss: {
  21. // 这里的路径要和刚刚写的 index.scss 文件路径一致
  22. additionalData: `
  23. @use "@/styles/element/index.scss" as *;
  24. `,
  25. },
  26. },
  27. },
  28. });

5.在页面引入一些按钮,查看效果

  1. <template>
  2. <div>
  3. <el-row class="mb-4">
  4. <el-button>Default</el-button>
  5. <el-button type="primary">Primary</el-button>
  6. <el-button type="success">Success</el-button>
  7. <el-button type="info">Info</el-button>
  8. <el-button type="warning">Warning</el-button>
  9. <el-button type="danger">Danger</el-button>
  10. </el-row>
  11. </div>
  12. </template>

2.光明与黑暗模式切换

1.新建一个 .css 或 .scss 文件(按个人喜好),写暗黑模式代码

  1. # dark.css
  2. /* 黑暗模式 */
  3. .dark-mode {
  4. background-color: #1f1f1f;
  5. /* background-color: #F53181; */
  6. color: #fff;
  7. .el-button {
  8. background-color: #333;
  9. color: #fff;
  10. }
  11. .el-input {
  12. background-color: #333;
  13. color: #fff;
  14. }
  15. }

2.全局引入刚刚创建的样式文件

import '@/assets/dark.css'

3.在页面中写一个切换按钮,控制模式切换

  1. # html部分
  2. <div>
  3. <el-switch @click="switch()" v-model="value1" />
  4. </div>
  1. # js部分
  2. import {
  3. ref
  4. } from 'vue'
  5. const value1 = ref(true)
  6. const isDarkMode = ref(false)
  7. const switch = () => {
  8. isDarkMode.value = !isDarkMode.value
  9. // 写黑暗模式样式代码的类名
  10. document.body.classList.toggle('dark-mode')
  11. }

光明与黑暗模式对比

 

完成,欢迎学习和交流!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/332378
推荐阅读