发表于 2011-11-29 22:54:22

活跃于 2019-11-14 17:45:02

查看 501,946 次

html   browser   background-color

在HTML中作为背景色输入时,某些随机字符串如何产生颜色? 例如:

 <body bgcolor="chucknorris"> test </body> 

...在所有浏览器和平台上产生背景为红色的文档。

有趣的是,虽然chucknorri产生红色背景,但chucknorr产生黄色背景。

这里发生了什么?

===============>>#1 票数:6666 已采纳

这是Netscape时代的遗留物:

丢失的数字被视为0 [...]。 不正确的数字将被简单地解释为0。例如,值#F0F0F0,F0F0F0,F0F0F,#FxFxFx和FxFxFx都相同。

它来自博客文章关于Microsoft Internet Explorer的颜色解析的一点怨言,其中涵盖了非常详细的内容,包括不同长度的颜色值等。

如果我们从博客文章中依次应用规则,则会得到以下信息:

  1. 将所有无效的十六进制字符替换为0

     chucknorris becomes c00c0000000 
  2. 填充到下一个可被3整除的字符总数(11-> 12)

     c00c 0000 0000 
  3. 分为三个相等的组,每个分量代表RGB颜色的相应颜色分量:

     RGB (c00c, 0000, 0000) 
  4. 将每个参数从右向下截断为两个字符

得到以下结果:

RGB (c0, 00, 00) = #C00000 or RGB(192, 0, 0)

这是一个演示bgcolor属性的示例,以产生此“惊人的”颜色样本:

 <table> <tr> <td bgcolor="chucknorris" cellpadding="8" width="100" align="center">chuck norris</td> <td bgcolor="mrt" cellpadding="8" width="100" align="center" style="color:#ffffff">Mr T</td> <td bgcolor="ninjaturtle" cellpadding="8" width="100" align="center" style="color:#ffffff">ninjaturtle</td> </tr> <tr> <td bgcolor="sick" cellpadding="8" width="100" align="center">sick</td> <td bgcolor="crap" cellpadding="8" width="100" align="center">crap</td> <td bgcolor="grass" cellpadding="8" width="100" align="center">grass</td> </tr> </table> 

这也回答了问题的另一部分。 为什么bgcolor="chucknorr"产生黄色? 好吧,如果我们应用规则,则字符串为:

c00c00000 => c00 c00 000 => c0 c0 00 [RGB(192, 192, 0)]

呈浅金黄色。 由于字符串以9个字符开头,因此我们这次保留了第二个C,因此最终以最终的颜色值结束。

我最初遇到此问题的原因是有人指出您可以进行color="crap" ,结果它变成棕色。

===============>>#2 票数:928

抱歉,不同意,但是根据解析@Yuhong Bao发布的旧色值的规则, chucknorris不等于#CC0000 ,而等于#C00000 ,这是一个非常相似但略有不同的红色。 我使用Firefox ColorZilla加载项进行了验证。

规则规定:

  • 通过添加0,使字符串的长度为3的倍数: chucknorris0
  • 将字符串分成3个相等长度的字符串: chuc knor ris0
  • 将每个字符串截断为2个字符: ch kn ri
  • 保留十六进制值,并在必要时添加0: C0 00 00

我能够使用这些规则正确解释以下字符串:

  • LuckyCharms
  • Luck
  • LuckBeALady
  • LuckBeALadyTonight
  • GangnamStyle

更新: 原来说颜色为#CC0000的原始答复者已经编辑了他们的答案以包括更正。

HTML为什么认为“ chucknorris”是一种颜色?相关推荐

  1. 若显示器接口电路中的刷新存储器容量为1MB,当采用800*600的分辨率模式时,每个像素最多可以有多少()种颜色

    若显示器接口电路中的刷新存储器容量为1MB,当采用800*600的分辨率模式时,每个像素最多可以有多少()种颜色. 显示内存 >= 分辨率与彩色位数/8的乘积 1MB=800*600*T: T= ...

  2. 三星note5 android版本区别吗,三星Note5哪种颜色好看?三星Note5四种颜色区别对比图解...

    三星Note5有几种颜色?哪种颜色更好看呢?三星Note5是一款时下非常受欢迎的大屏旗舰手机,搭载Exynos 7422八核处理器,4GB超大内存,配备S Pen触控笔,支持指纹识别等特性,颇受消费者 ...

  3. 特别浅的渐变蓝色在html里,javascript – 渐变色淡淡的3种颜色

    我一直在尝试使用HTML5和渐变渐变,我想使用3种颜色并逐渐淡化它们.目前我只能使用两种颜色. 我的目标与此图像类似: 颜色应该慢慢淡入彼此,我很满意我目前工作的淡化效果,虽然想添加第三种颜色. 我试 ...

  4. 几种颜色模型的转换公式

    from: 几种颜色模型的转换公式 在做图像处理时,我们一般采用的是RGB空间,但是在某些特殊情况下,我们也会用到其他的颜色空间.本文主要介绍一些常见的颜色空间的概念和转换公式. 颜色的实质是一种光波 ...

  5. 网页设计的12种颜色

    他们发现,美国前100大网站的Logo,主要使用12种颜色.其中,采用蓝色的网站最多,红色排在第二种,黄色排在第三种. 我把这12种颜色的RGB代码列出来,供将来自己做网页时参考. 1. 浅绿 #8c ...

  6. ios 三种颜色画笔和橡皮擦的画图板demo

    demo功能:三种颜色画笔和橡皮擦的画图板demo [iphone 6.1 测试通过] demo说明:项目中PaintView.m 是demo的画板部分,PaintView和三个颜色按钮添加到View ...

  7. 白话Elasticsearch43-深入聚合数据分析之案例实战__排序:按每种颜色的平均销售额升序排序

    文章目录 概述 官方说明 案例 求 每种颜色的平均销售额 按每种颜色的平均销售额升序排序 概述 继续跟中华石杉老师学习ES,第43篇 课程地址: https://www.roncoo.com/view ...

  8. 白话Elasticsearch35-深入聚合数据分析之案例实战更多metrics用法:统计每种颜色电视最大最小价格

    文章目录 概述 官方指导 Metrics Aggregations Min Aggregation Max Aggregation Sum Aggregation 案例:统计每种颜色电视最大最小价格 ...

  9. 白话Elasticsearch33-深入聚合数据分析之案例实战bucket + metrics 统计每种颜色电视平均价格

    文章目录 概述 官方说明Avg Aggregation 案例:统计每种颜色电视平均价格 概述 继续跟中华石杉老师学习ES,第33篇 课程地址: https://www.roncoo.com/view/ ...

最新文章

  1. 自定义ActionSheetView
  2. ajax练习,ajax练习
  3. python能在excel运行吗-用ExcelPython在Excel中调用Python
  4. Linux搭建FTP
  5. python 搜索二维矩阵
  6. 不良言论屏蔽方案探讨——自说自话方案
  7. Opencv显示创建Mat对象的七种方式
  8. 『飞秋』Windows7新功能体验(1):为Windows 7 Media Center安装网络电视(Internet TV)
  9. shell更改目录编码
  10. P3372 【模板】线段树 1
  11. Spring Cloud 相关配置信息说明
  12. hsqldb和mysql_HSQLDB的研究与性能测试(与Mysql对比)
  13. Do you know? -- season 1
  14. 计算机毕业设计nodejs宠物寄存管理系统
  15. uniapp开发App如何引入阿里巴巴矢量库图标
  16. c语言 银行叫号系统,【分享】C语言 银行取票排队系统
  17. 第06章 软件架构设计 之 软件架构风格
  18. 【20180619】【射频通信】混频、中频等高频知识,频谱分析仪的带宽RBW、VBW、SWT,射频信号发生器的使用,GNSS一些基本常识,PCB和MSPS的含义
  19. 个人社区(博客)项目Romantic——功能模块划分
  20. getAddrInfo与DNS域名解析与ping

热门文章

  1. nable to execute dex: Multiple dex files define Lcom/chinaCEB/cebActivity/R
  2. 安装APK到android设备那些事儿
  3. 字符串比较--小问题大智慧
  4. PHP学习笔记-数组
  5. (0034) iOS 开发之UIView动画(过渡效果)
  6. JSON学习笔记-3
  7. 大二暑假周进度报告之四
  8. 开发流程与版本管理规范
  9. bzoj 2457 [BeiJing2011]双端队列 模拟+贪心
  10. 邪恶改装2:用单片机实现一次简单的wifi密码欺骗