关于html:为什么字体颜色属性中的怪异东西会产生真实的颜色?

Why do weird things in font color attribute produce real colors?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Why does HTML think"chucknorris" is a color?

我在教一个小高中的网络编程课,在学习CSS之前,我们先从简单的元素和属性开始,比如字体和颜色。我知道颜色是不赞成使用的,字体不包括在HTML5中,但是为了教学目的,我发现从简单的HTML标记开始并逐步发展到CSS很方便。在上课的第一周,学生们能在一页纸上改变颜色,这让他们非常高兴。(我在第1周也教他们"大帐篷"和"眨眼",但要告诉他们,如果他们再次使用,他们将失去分数)。

其中一个学生开始提交作业,作业的颜色属性值中有一些奇怪的东西,比如"skittles"或"spiderman"。我开始对此进行试验,发现只要你在字体标签的color="attribute中放入任何东西,就会产生某种颜色。而且,在最新版本的IE、Firefox、Chrome、Opera和Safari中,颜色似乎是一致的。

我发现把"幸运符"作为CSS颜色放进去是行不通的。它似乎只适用于HTML属性中需要颜色的地方,例如font color="luckycharms"或body bgcolor="luckycharms"。

我试图向我的学生解释为什么会发生这种情况,到目前为止,我还没能理解它,也没能给谷歌一个好的答案。它似乎被解释为一种颜色代码,但我不知道怎么解释。

更新:经过一些尝试和错误之后,我确定了一个5步算法(使用提供的链接)来将几乎所有的字符串转换成相应的十六进制颜色。我将在这里为未来的访问者提供算法:

  • 将每个非十六进制字符更改为0。
  • 向字符串中添加0,直到其长度是3的倍数。
  • 将字符串分成3等分。
  • 当子字符串的长度大于2,并且所有三个子字符串都以0开头时,请从每个字符串中删除前导0。
  • 如果子字符串的长度仍然大于2,则将每个子字符串截断为2个字符。
  • 就是这样,把子字符串放在一起,就得到了十六进制的颜色代码。我已经用大约20个不同的样本验证了这个算法,并用firefox colorzilla附加颜色选择器比较了结果。

    请注意,在这种情况下,这些规则确实是在其中一个答案中指定的链接中特别说明的,并且所有浏览器都将遵守这些规则。所以你可以在任何浏览器中使用它(如果你真的想使用有趣的颜色名称的话)。


    包括HTML 5规范的游戏规则解析的传统颜色。

    他们是长而设计的,是两个和两个允许browsers洽关于他们如何行动的破碎的代码。


    很有趣。虽然这似乎为浏览器将interpret任何字符,它可以(A~F)和剩余的两个离开的是0,如果它不能匹配。例如:

    1
    2
    Spiderman
     00DE0 A

    还需要更多的experimenting但。


    这是个intriguing问题。

    通experimentation简明,我们发现,"运气",产生相同的颜色,我的眼睛,无论如何)作为"luckycharms"但"luckbealady得到你一darker"阴影",但luckbealadytonight bluer冰"。

    顺便说一句,我是第一的思想,这是十六进制recognizable作用的人物,所以你会"luckycharms"为CCA,这rendered黑。组合(0和十六进制chars斑,为uchiba suggests失败,两个是一样的草绿色AA"luckycharms"

    多尼Tho有一个答案。


    基本答案为"是什么"的预期发生的时间取决于冰的网络浏览器"。一部《问题与以前版本的HTML 5它之前是不会发生什么当冰非冰encountered标准HTML的浏览器。从"解释"宇智波斑example of冰一方的浏览器可能会interpret色彩规范,但只是作为标准,容许的,明智的,在两个或两个浏览器崩溃的光盘托盘弹出或改变你的显示器的分辨率的两个400x300 PX。当然,这是不理想,那么你的冰一看节目的想法,一时间,作为两个什么应该发生的,如果一个非标准的HTML规范encountered彩色冰。

    的原因是它不发生with CSS是它的一个不同的解析器解释色彩。这interprets色彩相同的解析器,不管它的内联CSS或在一联的CSS文件。CSS是定义两个会发生什么当它improper冰encountered价值:它是不容忽视的,和情感的文件不全。

    我说这是一个很好的时间说话的对合规类为标准,这是一场关键的认识和一些专业的学生需要知道的不幸。当他们说"但是我精美的彩色玩具厂",你可以告诉他们,这厂精细,当他们看它,但它的说,这可能会碰撞他们的辅导员的浏览器,他们得到一个大的收入。这是AA型的两个真实世界的场景为你可以得到当我们中的一些人,有两个IP,因为周末给我们演示时别人糟糕的代码correctly不工作。

    我不是苦但。mostly:)