Qix- / color 转换 CSS 颜色字符串的 JavaScript 插件
支持 CSS 颜色字符串的不可变颜色转换和操作的 JavaScript 库。
var color = Color('#7743CE').alpha(0.5).lighten(0.5);
console.log(color.hsl().string()); // 'hsla(262, 59%, 81%, 0.5)'
console.log(color.cmyk().round().array()); // [ 16, 25, 0, 8, 0.5 ]
console.log(color.ansi256().object()); // { ansi256: 183, alpha: 0.5 }
安装
$ npm install color
使用
var Color = require('color');
初始化
var color = Color('rgb(255, 255, 255)')
var color = Color({r: 255, g: 255, b: 255})
var color = Color.rgb(255, 255, 255)
var color = Color.rgb([255, 255, 255])
设置单个通道的值。alpha
, red
, green
, blue
, hue
, saturationl
(HSL),saturationv
(HSV),lightness
, whiteness
, blackness
, cyan
, magenta
, yellow
, black
字符串构造函数由 color-string 提供。
颜色转换
color.hsl();
将颜色转换为不同的空间(hsl()
, cmyk()
等等)。
color.object(); // {r: 255, g: 255, b: 255}
获取颜色值的散列。反映颜色的当前模式(见上文)。
color.rgb().array() // [255, 255, 255]
获取值的数组。array()
。反映颜色的当前模式(见上文)。
color.rgbNumber() // 16777215 (0xffffff)
获取RGB数字值。
color.hex() // #ffffff
得到十六进制值。
color.red() // 255
获取单个通道的值。
CSS 颜色值字符串
color.hsl().string() // 'hsl(320, 50%, 100%)'
调用 .string()
用一个数字将数字舍入小数位。默认为 1。
Luminosity
color.luminosity(); // 0.412
这个 WCAG光度 颜色。0是黑色,1是白色。
color.contrast(Color("blue")) // 12
这个 WCAG对比度 另一种颜色,从1(相同颜色)到21(对比b/w白色和黑色)。
color.isLight(); // true
color.isDark(); // false
获取颜色是浅还是暗,这对于决定文本颜色很有用。
转换颜色
color.negate() // rgb(0, 100, 255) -> rgb(255, 155, 0)
color.lighten(0.5) // hsl(100, 50%, 50%) -> hsl(100, 50%, 75%)
color.lighten(0.5) // hsl(100, 50%, 0) -> hsl(100, 50%, 0)
color.darken(0.5) // hsl(100, 50%, 50%) -> hsl(100, 50%, 25%)
color.darken(0.5) // hsl(100, 50%, 0) -> hsl(100, 50%, 0)
color.lightness(50) // hsl(100, 50%, 10%) -> hsl(100, 50%, 50%)
color.saturate(0.5) // hsl(100, 50%, 50%) -> hsl(100, 75%, 50%)
color.desaturate(0.5) // hsl(100, 50%, 50%) -> hsl(100, 25%, 50%)
color.grayscale() // #5CBF54 -> #969696
color.whiten(0.5) // hwb(100, 50%, 50%) -> hwb(100, 75%, 50%)
color.blacken(0.5) // hwb(100, 50%, 50%) -> hwb(100, 50%, 75%)
color.fade(0.5) // rgba(10, 10, 10, 0.8) -> rgba(10, 10, 10, 0.4)
color.opaquer(0.5) // rgba(10, 10, 10, 0.8) -> rgba(10, 10, 10, 1.0)
color.rotate(180) // hsl(60, 20%, 20%) -> hsl(240, 20%, 20%)
color.rotate(-90) // hsl(60, 20%, 20%) -> hsl(330, 20%, 20%)
color.mix(Color("yellow")) // cyan -> rgb(128, 255, 128)
color.mix(Color("yellow"), 0.3) // cyan -> rgb(77, 255, 179)
// chaining
color.green(100).grayscale().lighten(0.6)
资源
- API 的灵感来自 color-js。通过 CSS 工具,如 Sass、Less 和 Stylus 进行操作。
- github 地址:https://github.com/Qix-/color
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论