HTML如何解析<font color =“testing”>?
这个问题在这里已经有了答案:
它实际做的是将其分成RGB值,而不是十六进制颜色值。 所以你没有创建#0e0000
,你正在创建RGB(0e0, 000, 000)
。 既然我们知道000
只是0
,我们只需要看看它的0e0
部分。 从这里开始,如果超过2位数字,则需要将前导0
删除为两位数字,然后截断数字中的两位左数字,从而得到e0
。 当你把它从十六进制转换成十进制时,你最终会得到e0 = 224
。 这给你的是RGB(224, 0, 0)
,或者大部分是红色。
更多例子:
eesting => ee00000 => ee0 000 000 => RGB(ee0, 000, 000) => RGB(ee, 00, 00) => RGB(238, 0, 0)
eeeting => eee0000 => eee 000 000 => RGB(eee, 000, 000) => RGB(ee, 00, 00) => RGB(238, 0, 0)
eeeeing => eeee000 => eee e00 000 => RGB(eee, e00, 000) => RGB(ee, e0, 00) => RGB(238, 224, 0)
eefeefeef => eefeefeef => eef eef eef => RGB(eef, eef, eef) => RGB(ee, ee, ee) => RGB(238, 238, 238)
teeteetee => 0ee0ee0ee => 0ee 0ee 0ee => RGB(0ee, 0ee, 0ee) => RGB(ee, ee, ee) => RGB(238, 238, 238)
0f0f0f => 0f0f0f => 0f 0f 0f => RGB(0f, 0f, 0f) => RGB(0f, 0f, 0f) => RGB(15, 15, 15)
tftftf => 0f0f0f => 0f 0f 0f => RGB(0f, 0f, 0f) => RGB(0f, 0f, 0f) => RGB(15, 15, 15)
ttfttfttf => 00f00f00f => 00f 00f 00f => RGB(00f, 00f, 00f) => RGB(0f, 0f, 0f) => RGB(15, 15, 15)
是的,你是正确的,它正在使用以下解析算法和以下步骤首先,删除任何散列标记,然后用0代替任何非十六进制字符(0-9a-f)。
例如:#DIXIT变成D0000。
对于长度1-2,右边填充3个字符和0。
例如:“0F”变为“0F0”,“F”变为“F00”。
对于长度3,将每个数字作为红色,绿色或蓝色的值,并将该值预先设置为0。
例如:“0F0”变为RGB(0,F,0),变为RGB(00,0F,00)或000F00。
任何短于4位数的值都在此时完成。
对于长度为4或更长的字段,该字段用0填充到下一个3的整数倍。对于较长的字段,此步骤很重要。
例如:“0F0F”变为“0F0F00”
接下来,将字符串分成三个偶数部分,从左到右分别代表红色,绿色和蓝色。
“0F0F00”的行为与预期相同,变成RGB(0F,0F,00)。 任何6个字符的字符串都在此时完成。
要验证上面的事情请点击这里
要测试下面的例子的算法检查,你会得到相同的结果
<body bgcolor="DIXIT">
<body bgcolor="D00000">
执行以下步骤来解析dixit