在HTML中作为背景色输入时,某些随机字符串如何产生颜色?例如:
<body bgcolor="chucknorris"> test </body>
...在所有浏览器和平台上产生背景为红色的文档。
有趣的是,虽然chucknorri
也会产生红色背景,但也会chucknorr
产生黄色背景。
这里发生了什么?
解决方案:
大多数浏览器将只忽略颜色字符串中的任何非十六进制值,而将非十六进制数字替换为零。
ChuCknorris
转换为c00c0000000
。此时,浏览器会将字符串分为三个相等的部分,分别指示Red,Green和Blue值:c00c 0000 0000
。每个部分中的多余位都将被忽略,从而使最终结果#c00000
为带红色的颜色。
请注意,这并不能适用于CSS颜色解析,它遵循CSS标准。
<p><font color=‘chucknorris‘>Redish</font></p>
<p><font color=‘#c00000‘>Same as above</font></p>
<p><span style="color: chucknorris">Black</span></p>
本文首发于前端黑洞网,博客园同步跟新