我正在教授一个初中/高中的网页编程课程,我们先从简单的元素和属性开始,比如字体和颜色,然后再逐步转向CSS。我知道颜色已经被弃用,而字体也没有包括在 HTML5 中,但出于教学目的,我认为从简单的 HTML 标签开始,逐渐引入 CSS 更为方便。在课程的第一周,学生们可以通过更改页面上的颜色获得很多乐趣。(我还会在第一周教他们滚动字幕和闪烁文字,但我会告诉他们,如果以后再使用这些内容,将会失去分数)。
其中一名学生开始提交带有奇怪颜色属性值的作业,比如“skittles”或“spiderman”。我开始尝试这个,并发现在“color =”“”属性标签下放入几乎任何东西都能产生某种颜色。而且这种颜色似乎在最新版本的 IE、Firefox、Chrome、Opera 和 Safari 上都是一致的。
我发现,在 CSS 的“color =”处输入“luckycharms”并不起作用。它似乎只在期望 HTML 属性中使用颜色时有效,例如 font color="LuckyCharms",或 body bgcolor="LuckyCharms"。
我试图向我的学生解释为什么会发生这种情况,但到目前为止我还没有能够理解它,也无法在 Google 上找到一个好的答案。看起来它被解释为一种颜色代码,但我搞不懂是怎么回事。
更新:经过一些尝试和错误,我已经确定了一个五步算法(使用提供的链接),可以将几乎任何字符串转换为相应的十六进制颜色。我将在此提供算法,以便未来的访问者受益:
1. 将每个非十六进制字符更改为0。 2. 添加0,直到字符串的长度是3的倍数。 3. 将字符串分成三个相等的部分。 4. 当子字符串的长度大于2,并且所有三个子字符串都以0开头时,从每个字符串中删除前导0。 5. 对于每个子字符串,将其解释为十六进制数字,然后连接它们以形成一个六位十六进制数字,作为颜色代码。如果子字符串的长度仍然大于2,则将每个子字符串截断为2个字符。
其中一名学生开始提交带有奇怪颜色属性值的作业,比如“skittles”或“spiderman”。我开始尝试这个,并发现在“color =”“”属性标签下放入几乎任何东西都能产生某种颜色。而且这种颜色似乎在最新版本的 IE、Firefox、Chrome、Opera 和 Safari 上都是一致的。
我发现,在 CSS 的“color =”处输入“luckycharms”并不起作用。它似乎只在期望 HTML 属性中使用颜色时有效,例如 font color="LuckyCharms",或 body bgcolor="LuckyCharms"。
我试图向我的学生解释为什么会发生这种情况,但到目前为止我还没有能够理解它,也无法在 Google 上找到一个好的答案。看起来它被解释为一种颜色代码,但我搞不懂是怎么回事。
更新:经过一些尝试和错误,我已经确定了一个五步算法(使用提供的链接),可以将几乎任何字符串转换为相应的十六进制颜色。我将在此提供算法,以便未来的访问者受益:
1. 将每个非十六进制字符更改为0。 2. 添加0,直到字符串的长度是3的倍数。 3. 将字符串分成三个相等的部分。 4. 当子字符串的长度大于2,并且所有三个子字符串都以0开头时,从每个字符串中删除前导0。 5. 对于每个子字符串,将其解释为十六进制数字,然后连接它们以形成一个六位十六进制数字,作为颜色代码。
就是这样,把子字符串放在一起就可以得到十六进制颜色代码。我已经通过了大约20个不同样本的验证,并使用Firefox ColorZilla插件的颜色选择器进行了比较。
请注意,在这种情况下,规则确实在答案中指定的链接中明确说明,并且所有浏览器都将遵守这些规则。因此,如果您真的想使用有趣的颜色名称,可以在任何浏览器中使用这些规则。
<p>
是什么意思,<strong>
又是什么意思。然后继续学习样式设计。还要注意提到<font>
和<color>
已经被弃用,不应在实际网站中使用,只用于演示目的。现在我可以读懂你的问题了。 :) - Madara's Ghost