【Element】Vue3 中快捷设置 Element 主题色

5分钟搞定 Vue3+Element-Plus 项目主题色定制 主题色是指一个网站或应用的主色调,是体现整体风格的一个重要标志。 阅读详情

直接放代码,很简单

需要安装一个颜色转换的库 TinyColor
TinyColor-npm
在这里插入图片描述

代码

app.vue

<script setup lang="ts">
import zhCn from 'element-plus/dist/locale/zh-cn.mjs';
import { computed, onMounted, watch } from 'vue';
import { ElNotification } from 'element-plus';
import { useUserStore } from '@/store/index';
import tinycolor from 'tinycolor2';
const userStore = useUserStore();
const color = computed(() => userStore.baseForm.color);

// 监听浏览器版本
// @ts-ignore
import getBsInfo from 'browser-tag';
const bsInfo = getBsInfo(); //  { bs_name: "chrome浏览器", bs_tag: "chrome", bs_version: "108.0.0.0" },
console.log(bsInfo);
if (bsInfo.bs_tag === 'firefox' && bsInfo.bs_version.split(',')[0] < 100) {
  ElNotification({
    title: '警告',
    message: '当前浏览器版本过低,部分功能不可用,请更新火狐浏览器版本(不低于100.x版本)',
    type: 'warning',
    duration: 0,
  });
}

onMounted(() => {
  // 初始化主题色
  setColor(color.value);
});

// 更新主题色
watch(
  () => color.value,
  (newValue, oldValue) => {
    setColor(newValue);
  },
);

const setColor = (color: string) => {
  // document.documentElement 是全局变量时
  const el = document.documentElement;
  // 主题色系
  // --el-color-primary: #f0905a;
  // --el-color-primary-light-3: #f2a67a;
  // --el-color-primary-light-5: #f4b88c;
  // --el-color-primary-light-7: #f6c99e;
  // --el-color-primary-light-8: #f7d3ab;
  // --el-color-primary-light-9: #f8ddba;
  // --el-color-primary-dark-2: #e88e4e;
  // 主题色系算法
  const getColorMap = (color: string) => {
    const colorMap = {
      '--el-color-primary': color,
      '--el-color-primary-light-3': light(color, 3),
      '--el-color-primary-light-5': light(color, 5),
      '--el-color-primary-light-7': light(color, 7),
      '--el-color-primary-light-8': light(color, 8),
      '--el-color-primary-light-9': light(color, 9),
      '--el-color-primary-dark-2': dark(color, 2),
    };
    function light(color: string, level: number) {
      return tinycolor(color)
        .lighten(level * 5)
        .toString();
    }
    function dark(color: string, level: number) {
      return tinycolor(color)
        .darken(level * 5)
        .toString();
    }

    return colorMap;
  };
  // 设置 css 变量
  const colorMap: any = getColorMap(color);
  for (const key in colorMap) {
    el.style.setProperty(key, colorMap[key]);
  }
};
</script>

<template>
  <el-config-provider :locale="zhCn">
    <router-view />
  </el-config-provider>
</template>

<style scoped></style>

Element Plus 主题定制全攻略:如何用Vue 3打造个性化UI风格 本文详细解析了如何为Vue 3项目中的Element Plus组件库进行深度主题定制。文章从理解其CSS变量与SCSS源码的架构入手,逐步介绍了CSS变量覆盖、SCSS变量覆写及使用官方工具三种主流方法,并深入探讨了构建企业级设计系统、实现动态主题与暗黑模式切换等高级实践,旨在帮助开发者打造高度个性化的品牌化UI风格。 阅读详情

相关推荐

Element Plus 深度解析:从 Vue 3 组件库重构到实战应用

在 Vue.js 生态中,组件库是构建现代化前端应用的核心基础设施,它通过封装可复用的 UI 元素和交互逻辑,极大地提升了开发效率和项目一致性。其原理在于遵循框架的设计哲学,提供声明式的 API 和响应式的数据绑定。这类库的技术价值在于标准化开发流程、保障视觉统一性,并降低复杂交互的实现门槛,广泛应用于中后台管理系统、数据可视化平台及各类 Web 应用。本文聚焦于 Vue 3 时代的明星组件库 Element Plus,它正是这一理念的杰出代表,通过全面拥抱 Composition API 和 TypeSc

weixin_34161029的博客 415

【vue】聊一聊Element UI的自定义主题颜色

ElementUI组件库相信大家一定都接触过。但是自定义主题颜色的需求有接触过的应该不多,至今我是没有遇到类似的需求。之所以讲这个需求,是因为在我的开源项目中有做到这个需求,所以在这里和大家聊一聊。

拖孩 6736

Vue3 - [最强] 超详细 Element Plus 组件库主题颜色进行 “统一全局“ 替换,将默认的蓝色主题色更换为其他自定义颜色,覆盖原来的主题色改为自己的颜色(完美解决主题色不生效、没反应)

elementplus修改主题色,vue3+element-plus主题色更换,vue3vite如何修改扩展elementplus主题色样式,全局设置elementplus主题色,有什么办法可以直接全局修改主题色,对elementplus默认蓝色不满意怎么替换更改其他颜色,elementplus覆盖默认主题色,elementplus主题色官方文档,vue3中修改elementplus主题色,elementplus修改主题色不生效怎么办,elementplus如何修改主题颜色,eleme

🏆 前端领域优质创作者 1万+

Element框架更换主题色

Element 默认的主题色是鲜艳、友好的蓝色,但是UI小姐姐在设计的时候会为了更贴合项目主旨设计出其他颜色的主题色,比如新能源项目一般选用绿色做为主题色,此时我们就需要更改Element框架的主题色。

weixin_44266024的博客 1998

Vue - 超详细 Element 组件库主题颜色进行 “统一全局“ 替换,将默认的蓝色主题色更换为其他自定义颜色(保姆级教程,简易且标准全局替换主题色)

vueElement主题色如何更改,vueelement-ui修改主题颜色,vue改变elementui的主题色,vue全局修改element-ui的主题颜色,vue项目更改element-ui主题色,vue全局更改饿了么element组件库主题色,在vue项目中改变element的主题色,vue全局修改element-ui的主题颜色,vue+ElementUI实现动态更换任意主题色,vueelementui实现更换主题颜色,vue怎么把element组件库的默认的蓝色主题改成其他颜色,vue

🏆 前端领域优质创作者 8015

Vue3 - Element Plus 全局修改更换主题色配置详细教程,element-plus自定义主题色全局替换主色调强力解决方案,支持动态修改主题颜色/动态皮肤,将默认蓝色主题色更换为其他颜色!

vue3,nuxt3,element-plus,组件库,主题色,修改主题颜色,更换主题色,如何修改组件默认主题蓝色,项目主题色定制,修改失败,主题色覆盖不了,:root直接修改,hover颜色没改,自定义主题色,vue3全局设置elementPlus主题色最新详细修改教程,怎么修改全局的颜色,scss变量,覆盖原来的主题色改为自己的颜色,统一替换,有没有好办法,颜色不变,失败,无效,动态主题切换,主题颜色怎么在项目里直接改,plus主题色更换,覆盖默认主题色,最强最好用,设置主题色,换肤,皮肤,动态更换

🏆 前端领域优质创作者 1万+

vue3-element-admin 如何快速切换主题:深色模式与主题色定制 3 种方案完整指南

vue3-element-admin 主题切换共提供三条路线:界面内切换明暗模式、定制主题色板、在代码里固化默认主题。本文面向需要给后台开深色模式或按品牌色改造界面的开发者与运营同学,逐条讲清入口、步骤和背后的原理。 [![vue3-element-admin 主题切换深色模式效果](https://raw.gitcode.com/GitHub_Trending/vue3/vue3-elemen

gitblog_00134的博客 403

【Python】SimpleITK使用笔记

1. 概念 1.1 nii格式 1.2 SimpleITK 1.3 SimpleITK 图像 2. 基本操作 2.1 常见属性 2.1 读取和保存图像 2.2 SimpleITK图像数据和Numpy矩阵数据之间的转换

See_Star的博客 7895

实现一个简单的后台架子(侧边栏菜单渲染,折叠,黑白主题,组件主题色,全屏,路由快捷栏)

实现一个简单的后台架子,写的很糙,关注实现即可。

qq_52845451的博客 1050

从零构建XVC协议栈:FPGA+W5300的跨界调试架构实战

本文详细介绍了如何从零构建XVC协议栈,通过FPGA与W5300以太网控制器的创新组合实现跨界调试架构。重点解析了JTAG时序逆向、TCP/IP协议栈集成与XVC协议实现,提供了硬件设计优化和性能加速技术,为嵌入式开发者和FPGA工程师提供实用的远程调试解决方案。

raspberrypi5的博客 247

用AI+Playwright实现零代码UI自动化测试:以登录页面为例的实战指南

本文详细介绍了如何利用AI与Playwright结合实现零代码UI自动化测试,特别以登录页面为例进行实战演示。通过自然语言描述生成测试脚本,大幅降低技术门槛,提升测试效率,并支持跨浏览器验证。适合非技术人员快速上手专业级自动化测试。

weixin_28842269的博客 401

vue3-element-admin 主题定制 完整指南

你是否还在忍受千篇一律的管理系统界面?想让后台系统既专业又有个性?本文将带你掌握vue3-element-admin的主题定制技巧,从基础设置到高级动效,轻松打造专属视觉风格。通过前端主题配置实现个性化界面,让你的管理系统告别"大众脸",成为团队中的颜值担当。 ## 💡 为什么默认主题总觉得不对劲? 别再用默认主题当显眼包了!标准主题虽然规范,但在不同业务场景下总会显得格格不入。无论是企业品

gitblog_01110的博客 261

UE4游戏开发:GameInstance与GameMode的实战应用与避坑指南

本文深入解析了UE4中GameInstance与GameMode的核心差异与实战应用。GameInstance作为贯穿游戏进程的全局单例,负责跨关卡数据持久化与系统管理;而GameMode则定义特定关卡内的游戏规则与逻辑,随关卡加载销毁。文章通过数据存储、动态模式切换及网络游戏等场景,提供了清晰的应用指南与常见避坑方案,帮助开发者构建更健壮的UE4游戏架构。

kubernetes8ctl的博客 230

在 Vue3 中使用 Element Plus:从 vue-element-admin(Vue2 + Element UI)升级到 Element Plus(Vue3)

ElementPlus是基于Vue3的企业级UI组件库,专为中后台系统设计。相比Vue2的ElementUI,它采用CompositionAPI和TypeScript重构,提供60+组件并优化了TS支持。安装只需npm install element-plus,通过main.ts全局引入即可使用。组件命名和API与旧版高度一致,但图标库独立为@element-plus/icons-vue,表单验证改用Promise。推荐使用unplugin-vue-components实现按需引入,减少打包体积。

木木的学习笔记 1504

Python实现微信PC端聊天记录自动化监听与智能回复

本文详细介绍了如何使用Python实现微信PC端聊天记录的自动化监听与智能回复。通过win32api和uiautomation库,模拟人工操作,实时监控聊天窗口并抓取新消息。文章重点讲解了核心代码逻辑、环境搭建步骤,并提供了实现关键词触发自动回复的完整方案,旨在提高工作效率与信息管理自动化水平。

weixin_29092031的博客 345

HFSS 3D Layout仿真PCB操作说明

本文介绍一种特别适合PCB这种叠层结构的仿真软件,HFSS 3D Layout既有操作的简便性,又有同3D软件仿真所有的精确性,仿真速度上又比3D软件快很多。

sinat_15150363的博客 3938

Vue3拖拽布局实战:vue3-draggable-resizable与element-plus主题色适配

拖拽交互是后台管理系统高频需求之一,但自由摆放与列表排序是两类不同的技术问题。前者需要组件暴露坐标、宽高等状态,允许元素在容器内任意移动和缩放;后者则侧重数组重排。vue3-draggable-resizable 专为Vue3自由布局设计,通过v-model绑定x、y、w、h即可轻松实现卡片拖拽与尺寸调整,配合element-plus的CSS变量机制,还能让组件无缝跟随系统主题色换肤。这类方案在后台自定义菜单、工作台卡片、可视化仪表盘等场景中价值明显,既能提升用户个性化体验,又能通过localStorage

weixin_30737899的博客 187

ARM系统控制和管理接口System Control and Management Interface

本文档描述了一个可扩展的独立于操作系统的软件接口,用于执行各种系统控制和管理任务,包括电源和性能管理。 本文档描述了系统控制和管理接口(SCMI),它是一组操作系统无关的软件接口,用于系统管理。

AI-安全-功耗 1913

vue3-element-admin主题切换:3种实用方法打造个性化后台界面

在现代办公环境中,开发者和管理员往往需要长时间面对后台系统界面。vue3-element-admin主题切换功能正是为解决不同场景下的视觉需求而生——无论是明亮办公室的日光模式,还是夜间加班时的暗黑主题,亦或是符合企业VI的定制化风格,都能通过主题切换功能轻松实现。本文将系统介绍vue3-element-admin主题切换的实现方案、技术原理及高级拓展技巧,帮助你打造更舒适的工作环境。 ## 一

gitblog_00914的博客 501

全局–局部傅里叶神经算子(GL-FNO):原理、严格推导与 PINN 混合策略

本文提出了一种全局-局部傅里叶神经算子(GL-FNO)及其与物理信息神经网络(PINN)的结合方法。主要内容包括: 架构设计:GL-FNO包含两个分支 - 全局分支处理低频结构,使用下采样输入;局部分支处理高频细节,使用全分辨率输入。两分支通过自适应门控机制融合。 理论分析:证明了GL-FNO在"低频全局+高频局部"任务上的优势,给出了误差分解和复杂度分析,并推导了与PINN结合时的渐进一致性条件。 实现方法:采用频谱微分计算物理残差,推导了完整的训练流程,包括数据损失与物理损失的联合优

VectorShift的博客 1330

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

3分钟掌握Element UI主题定制:打造专属企业级UI风格

你是否厌倦了千篇一律的界面设计?想要为你的Vue.js项目打造独一无二的视觉风格?Element UI作为最受欢迎的Vue.js 2.0 UI组件库,不仅提供了丰富的组件,还内置了强大的主题定制功能。本文将带你快速掌握Element UI主题定制技巧,让你在3分钟内就能创建出符合企业品牌形象的专属UI风格。 ## 为什么需要定制Element UI主题? 在当今竞争激烈的数字产品市场中,统一的

gitblog_00458的博客 406

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

vue3 按需引入element plus 组件库、修改主题颜色

本文实现了在 vue3+element-plus项目开发中,统一全局覆盖更换默认主题蓝色,引入一次全项目自动生效。

qq_45345113的博客 616

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

基于Element Plus封装Vue 3季度选择器组件实战指南

在前端开发中,组件封装是提升开发效率和用户体验的核心技术手段。其原理在于对现有基础组件进行功能扩展和定制,实现特定业务场景的抽象。这种技术价值在于能够将通用逻辑沉淀为可复用模块,减少重复开发成本。在Vue 3生态中,Element Plus作为主流UI库,其日期选择器组件虽然功能丰富,但缺乏直接的季度选择功能。针对财务报表、市场分析等需要按季度筛选数据的应用场景,开发者需要基于el-date-picker进行深度定制。本文通过封装el-quart-picker组件,详细解析了如何利用Vue 3的组合式API

weixin_33733810的博客 411

Vue3-Element-Admin混合布局架构:企业级后台系统的导航优化方案

在构建现代化企业级后台管理系统时,如何设计既能承载复杂业务模块又保持用户体验流畅的导航结构,一直是前端架构师面临的核心挑战。vue3-element-admin通过创新的混合布局模式,为这一难题提供了**企业级解决方案**,实现了业务域隔离与功能深度导航的完美平衡。 ## 痛点分析:传统导航模式的局限性 传统后台系统通常采用单一侧边栏或顶部导航模式,在面对多业务模块、深层次功能结构时暴露出明显

gitblog_01197的博客 926

如何快速搭建企业级后台?Element Plus Admin 完整指南

Element Plus Admin 是一款基于 Vue3、TypeScript 和 Element Plus 构建的高效后台管理系统框架,旨在帮助开发者快速搭建功能完善、界面美观的企业级管理平台。它集成了现代化前端技术栈,提供丰富的预置功能和灵活的定制能力,让后台开发变得简单高效。 ## ✨ 为什么选择 Element Plus Admin? 在众多后台框架中,Element Plus Ad...

gitblog_00782的博客 889

Vue3 ElementPlus Admin

Vue3 Element Plus Admin 开箱即用的后管理系统。它基于vue3和element plus 实现。内置了动态路由,i18n国际化,动态权限菜单等功能 ✅ 功能 - 登录 / 注销 - 动态路由 - 动态侧边栏(支持多级路由嵌套) - 动态面包屑 - 快捷导航(标签页) - 本地/后端 mock 数据 - 組件 - 富文本 - Markdown(未完成) - 表格 - 动态表格 - 综合表格 - 错误页面 - 401 - 404 - ECharts 图表 - Cl

田兴的博客 2万+
上一篇: 【Nuxt】Nuxt3 中监听 document 滚动报错 document is not defined
下一篇: 【CSS】 css 实现文字的渐变色
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值