CSS color属性支持四类写法:关键字(140个,如red、rebeccapurple)、十六进制(#rrggbb、#rgb、#rrggbbaa)、RGB/RGBA、HSL/HSLA;兼容性好但可维护性、透明度控制和精度各异。
color 属性支持的写法其实就四类:关键字、十六进制、RGB/RGBA、HSL/HSLA。浏览器兼容性极好,所有现代浏览器包括 IE9+ 都完全支持,但不同写法在可维护性、透明度控制和色值精度上差异明显。
哪些颜色关键字可以直接用
CSS 保留了 140 个标准颜色关键字,比如 red、blue、rebeccapurple(为纪念 Web 先驱而加入)、transparent(虽是颜色值,但实际等价于 rgba(0,0,0,0))。注意:orange 有,pink 有,但 coral 和 teal 这类也都有;而像 lightblue 这种带前缀的必须拼写准确,light-blue 或 LightBlue 都无效。
常见误用点:
-
grey和gray都合法,但值不同(grey是#808080,gray是#808080—— 实际相同,但别指望darkgrey能自动变暗,它只是另一个固定关键字 -
currentcolor不是颜色名,而是动态关键字,取当前元素的color值,常用于 SVG 或边框继承文本色
十六进制写法的三种格式及限制
支持 #rrggbb、#rgb、#rrggbbaa(CSS Color Module Level 4,Chrome 65+/Firefox 63+ 支持)。注意:#rgb 是简写,#f0a 等价于 #ff00aa,不是 #f00a;不支持带空格或中间加横线的写法,如 #f0 a 或 #f-0-a 会直接失效。
立即学习“前端免费学习笔记(深入)”;
容易踩的坑: