# 多度颜色
- 3.0.3 版本之后对颜色配比进行了重大的更改,摒弃
less
的使用方式采用:root
:root
所有主流浏览器均支持 :root 选择器,除了 IE8 及更早的版本。- 这次主要更新是抽离了
colors
和db-tidy-ui
的重度依赖改为单独脚手架的方式。 - 下面介绍最新的
db-colors
脚手架改如何在项目使用
# npm 安装
推荐使用 npm 的方式安装。
安装完毕后拥有全局的db-colors
的指令
npm i db-colors -g
# db-colors使用
- 通过-h来查看当前所有指令
db-colors -h
// 基础使用创建颜色config-path是对应基础配置地址
// 这个地址是按照当前触发命令行的相对地址
db-colors create [config-path]
# db-colors可配置项
{
"colors": [ // 必填!通过colors来定义当前生成多少颜色
{
"key": "primary", // key将会成功颜色的命名 会生成 --db-{key}-1 为命名的css var()
"value": "#3054eb"
}
],
"colourGamut": 10, // 选填,通过改参数可以定义颜色的梯度,默认10度。注意主色永远是第6度
"path": "./colors", // 选填,生成的颜色文件夹默认 colors
"name": "index", // 选填,生成的颜色名称
}
# css访问颜色
css通过使用
var()
来进行设置颜色定义新的
:root
可以覆盖之前的:root
来达到换肤的效果
# 主色
- 颜色定义上分为两块,主色+辅助色。总体颜色以
primary
为主。其他则是补充色
Copy
# 辅助色
Copy
# 换肤系统
通过设定不同的link标签来达到需求
注意js就算替换了,也无法触发视图的更新。vue上可以通过vuex来解决这个问题
运行
yarn run:colors
来查看案例,请确保npm
安装http-server
以下为直接添加标签,您也可以更具项目动态更改标签的
href
来实现会更好
Copy
# 通过js来使用颜色
目前不推荐js用于视图上的显示,因为更新了颜色也无法触发视图更新!!!vue上可以通过vuex来解决这个问题
创建时候会生成js文件,js支持
require
引入会提供颜色的hash
json您也可以使用
window
对象上__db_colors
来访问颜色
const Colors = require('colors/index.js') // 自己更具项目具体路径来
export default {
data() {
return {
colors: {},
show: false
}
},
mounted () {
this.colors = Colors
this.$nextTick(() => {
this.show = true
})
}
}
Copy