为什么 <input type="color"> value 属性只接受十六进制颜色?

mr.*_*tik 1 html javascript css

我昨天编写了这段代码,我注意到输入类型颜色值属性值不适用于直接颜色名称。但适用于十六进制值。为什么?

<! --- Not Working--->
<input type="color" value="red">
<! --- Working --->
<input type="color" value="#ff0000">
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 5

因为规范要求它

value 属性(如果已指定且不为空)必须具有有效的简单颜色值。

如果字符串长度恰好为 7 个字符,并且第一个字符是 U+0023 数字符号 (#),其余 6 个字符均为 ASCII 十六进制数字,其中前两位数字代表红色,则该字符串是有效的简单颜色分量,中间两位代表绿色分量,最后两位代表蓝色分量,十六进制。