ElementUI自定义动态换肤(主题)

 admin   2022-09-10 22:29   122 人阅读  0 条评论

市场需求大背景:工程项目须要全力支持静态换主轴,主轴色能随便优先选择(即采用者想用甚么色调的主轴就用甚么色调的主轴);而element官方中文网站给的 自订主轴 根本无法是工程项目里写死,难以同时实现采用者静态转换;

看了下 element 自动更新自订主轴 时,也有同时实现静态科婷,但科学研究后它是调的他们的USB同时实现的(如下表所示图),虽然是子公司的工程项目,此种倚赖服务器端天然资源/USB的形式的确无法采用;

它优先选择色调前会将色调做为模块 允诺USB:

USB回到的的css

虽然须要初始化element的USB,此种计划我就间接抛弃了,但此种形式如果也是能同时实现的,调完USB后,建立两个style条码 ,再将回到的css数组Kozhikodestyle条码的文档结点,最终填入都head里头(特别注意须要填入到最终面)

参照中文网站/工程项目:vue-element-admin 如下表所示图

该工程项目里头的 ThemePicker组件 能间接同时实现该功能,但仔细观察代码后,发现它须要发允诺获取到Element UI 的默认样式 index.css,所以须要改一下;

虽然工程项目采用的Element UI的版本是唯一的,间接把 这个样式代码拷贝出来就行了,然后再对其进行操作;

index.css 文件路径: node_modules\element-ui\lib\theme-chalk\index.css

主要同时实现形式

ElementUiCSS.js

采用形式

选好色调后间接初始化该形式就可

上面的形式实际上是得到了一系列的新的主轴色(12个);因为有的色调是根据主轴色淡化的形成的色调,如下表所示图,第两个红框处是主轴色,下面第二个红框是根据主轴色淡化后的,这个淡化色调也是通过上面的形式(getThemeCluster)生成出来的;

另外,我采用的形式是将 element-ui 的 index.css 文件的样式代码粘贴出来的,若后期他们工程项目 element-ui 版本升级或转换了,须要重新粘贴出来覆盖掉;

本文地址:http://51ac.top/post/15538.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?