为什么 HTML 认为“chucknorris”是一种颜色?
技术问答
300 人阅读
|
0 人回复
|
2023-09-11
|
为什么有些随机字符串被用作 HTML 输入背景颜色时会产生颜色?
+ e+ x# {- Z! I! f/ L0 Q4 Q1 U例如:* b: j9 U( Y9 H6 e9 q* ?) v: C
test
, u! H; D, X \ n; {7 M0 F …在所有浏览器和平台上生成红色背景的文档。0 k* Y' D1 X) a+ C8 W- ]2 t/ A; l# @
另一方面,chucknorr产生黄色背景!
/ W) u$ b. K( B$ g这儿发生了什么?
$ A0 {7 _9 k0 U # g% Y; G5 ]( h6 U
解决方案: 0 E6 U' \: I+ G+ D% C) }3 N
缺失的数字被视为 0[…]。将错误的数字简单地解释为 0。#F0F0F0、F0F0F0、F0F0F、#FxFxFx 和 FxFxFx 值是一样的。$ R& Q, k' T5 w ]9 q" d
如果我们依次应用博客文章中的规则,我们将得到以下结果:
+ A: @+ Q- z6 j; V; a: r. O[ol]取代所有无效的16进制字符:[/ol]html chucknorris becomes c00c0000000
: @1 ~6 @9 J& j" e9 W6 _2 ^[ol]下一个可以被 3 整除的字符总数 (11 → 12):[/ol]html c00c 0000 0000
+ I8 z* i( x- z4 {7 Q/ \- b[ol]分为三个相等组,每个重量代表 RGB 相应颜色分量:[/ol]html RGB (c00c,0000,0000)
7 n1 t* n' L0 h6 o' `. D[ol]将每个参数从右侧切断为两个字符。[/ol]最后,得出以下结果:# K8 b8 }7 h) O4 ]9 \ u! ~6 G. p
RGB (c0,00,00) = #C00000 or RGB(192,0,0)! w" q9 z2 g4 {% ^, R+ k
这是一个示例,是时候演示了bgcolor为了生成这个惊人的色样:2 T5 L$ ]4 n# P1 t
chuck norris | Mr T | ninjaturtle | sick | crap | grass |
4 Y( R) u* h! C8 o0 _ 这也回答了问题的另一部分:为什么bgcolor="chucknorr"产生黄色?如果我们应用规则,字符串是:2 S1 _3 R: B ~2 d
[code]c00c00000 => c00 c00 000 => c0 c0 00 [RGB(192,192,0)code]这给了一种浅黄色的金色。因为字符串从 9 开始,这次我们保留了第二个 ‘C’,所以它以最终的颜色值结束。
- f, s) c/ T9 e% K1 F0 w" I当有人指出你可以这样做时,我第一次遇到了这个color="crap",它是棕色的。 |
|
|
|
|
|