当在HTML中作为背景颜色输入时,某些随机字符串如何产生颜色?例如:
<body bgcolor="chucknorris"> test </body>Run Code Online (Sandbox Code Playgroud)
... 在所有浏览器和平台上生成一个红色背景的文档.
有趣的是,虽然chucknorri也会产生红色背景,但会chucknorr产生黄色背景.
这里发生了什么?
我正在教一个小伙伴.高中/高中网络编程课,我们开始使用简单的元素和属性,如字体和颜色,然后再转到CSS.我知道颜色已被弃用,HTML5中不包含字体,但出于教学目的,我发现从简单的HTML标签开始并逐步使用CSS非常方便.在课程的第一周,学生可以在页面上更改颜色,从而获得很多乐趣.(我也在第1周教他们选框和眨眼,但告诉他们如果他们再次使用它们,他们将失去分数).
其中一名学生开始用颜色属性值中的奇怪事物提交作业,如"Skittles"或"Spiderman".我开始尝试使用它并发现几乎任何你在font标签上的color =""属性中都会产生某种颜色.并且看起来在IE,Firefox,Chrome,Opera和Safari的最新版本中颜色是一致的.
我发现将"LuckyCharms"作为CSS颜色放入不起作用.它似乎只适用于HTML属性中预期颜色的位置,例如font color ="LuckyCharms"或body bgcolor ="LuckyCharms".
我试图向我的班级解释为什么会发生这种情况,到目前为止我还没有理解它,或者谷歌给出了一个好的答案.它似乎被解释为颜色代码,但我无法理解如何.
更新:经过一些试验和错误,我已经确定了一个5步算法(使用提供的链接)将几乎任何字符串转换为相应的十六进制颜色.我将在此提供算法,以便对未来访问者进行启发:
就是这样,将子串放在一起,你就得到了十六进制颜色代码.我用大约20个不同的样本验证了这个算法,并使用Firefox ColorZilla附加颜色选择器比较了结果.
请注意,在这种情况下,规则ARE确实在其中一个答案中指定的链接中明确说明,并且将被所有浏览器遵守.所以你可以指望在任何浏览器中工作(你真的想要使用有趣的颜色名称).
我是HTML 5的新手,我在查找各种 W3 HTML标准化文档时遇到问题,以获取属性的状态.
例如,自HTML 4.01起,不应再使用bgcolor该<body>元素的属性.它被弃用了.(见:http://www.w3.org/TR/html4/present/graphics.html#h-15.1.1).
但它在HTML 5中的状态是什么?在HTML标记规范中,该属性被标记为过时(请参阅:http://www.w3.org/TR/html-markup/body.html).
这是否意味着本书,该属性在HTML 5中不再存在?
考虑编写一个标准的符合客户端,我应该将文档中的哪个引用与属性进行精确和定义的处理?只是放弃它,因为它已经过时了?把它留在那里,否则对它充耳不闻(有一个属性节点,但它没有意义)?
标准化文件中记录了哪些内容?