为什么<input type="color">的value属性仅支持十六进制颜色值而不支持颜色名称
问题原因
这是HTML标准对<input type="color">控件的明确规范要求:该控件的value属性仅支持**#开头的6位十六进制RGB颜色值**(格式为#RRGGBB,不区分大小写,但浏览器最终会统一转为小写格式),不支持CSS颜色关键字(比如red、blue等)、RGB函数、HSL函数、3位简写十六进制值(比如#f00)等其他颜色表示方式。
如果你传入不符合格式要求的值,浏览器会直接忽略该赋值,自动将控件的默认值回退为#000000(纯黑色)。你给出的两个示例中:
- 不生效的写法
value="red"使用了CSS颜色关键字,不符合格式要求,因此被浏览器忽略 - 可正常运行的写法
value="#ff0000"是标准6位十六进制RGB值,符合规范要求,因此可以正常生效
内容的提问来源于stack exchange,提问作者mr.Hritik
相关产品推荐
相关产品推荐

