回答

收藏

为什么 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 norrisMr Tninjaturtle
    sickcrapgrass

    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",它是棕色的。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则