核心思想:css3中的
:root
伪类选择器和var
变量的应用
1、定义主题变量
:root {
--theme-color: #ccc;
}
2、使用主题变量
.test{
color: var(--theme-color);
}
3、动态改变主题
document.documentElement.style.setProperty('--theme-color', '#fff');
前提,在main.js
引入的必须是它的less
样式文件
import 'ant-design-vue/dist/antd.less'
使用antd-theme-webpack-plugin
插件提取antd.less
跟颜色有关系中的样式到指定文件,然后再引入这个文件,这样就会覆盖antd.less
中的样式,具体方法百度
直接下载提取后的文件点击下载,然后在index.html
中引用
<body>
// 必须放在body里面,得保证在antd.less之后加载,这样才能覆盖
<link rel="stylesheet/less" type="text/css" href="/color.less">
// js必须放在css的后面,这样才能解析它
<script src="/less.js"></script>
</body>
color.less
里面有一句
:root {
--primary-color: @primary-color;
}
如此,书写页面时使用var(--theme-color)
即可
改变主题颜色
window.less.modifyVars({
'@primary-color': '#722ED1',
})