大家好,又是我本菜鸡在日常修复问题的时候,与ui讨论如何前后端使用同一套icon,只需要改变色值,就能实现一套icon的主题。这里还是贴出能实现的办法,具体的就不说明了。
iconfont、svg字体图标 这样一来只需要根据返回的色值即可改变颜色(推荐)mix-blend-mode颜色叠加,这个有点复杂,但是兼容性不咋地,也不考虑了- 就是准备好所有图标,然后调用呗~
那么问题就来了,后端传回的是 #ffffff 这样的颜色表达!那咋办呢?首先,我们知道颜色表达一般都是有:
- 英文单词(red,blue)
- 十六进制值(#ff0000)
- RGB(255,255,255)
- RGBA(255,255,255,1) 最后一位是alpha 透明度
- HSL
- HSLA (和上面差不多)
好了,为了实现色值透明度的问题,首先可以通过以下的方式来达到效果:
- 通过js转换成我们需要的RGB或者HSL模式。(推荐!兼容性好)
- 直接用上面十六进制八位数的色值来表达(俺使用的)
这里使用的是第二种办法,但是兼容性是不是不太好=. = ,不知道有没有大佬能解惑一二,十六进制八位数就是在原来基础上的六位数后面两位是 alpha透明通道,下面附上对应的转换值:
综上所述,在浏览器即可使用色值的透明度,但是会有兼容性问题~