如何在CSS中使用3位颜色代码而不是6位颜色代码?

时间:2010-06-24 09:53:58

标签: css colors hex web-optimization

我最近浏览了我的CSS文件并将所有6位十六进制代码切换为简单的3位代码(例如,我的#FDFEFF缩短为#FFF)。它渲染的颜色几乎与以前完全相同,在我看来,部件之间相当无用,删除它们在我的CSS文件中保存了整整300个字节。

使用哪个版本是否重要?我很少遇到只使用3位代码的网站(或者我想我从来没有碰过那些代码的网站)。在6位代码上使用3位代码仍然完全有效,或者我们是否应该使用完整的6位代码?

9 个答案:

答案 0 :(得分:83)

3位数代码是简写,#123#112233相同。在您提供的示例中,您(有效地)将#FDFEFF替换为#FFFFFF,这与原始颜色接近但显然不准确。

使用哪个版本并不“重要”,但3位数的颜色代码表示您在阴影中的选择少一点。如果您认为节省300字节是值得的,那么继续使用3位代码,但除非您正在设计低带宽情况,否则这300字节将无法真正为您节省太多。

答案 1 :(得分:25)

速记很糟糕!不要使用它。维护和创建不必要的变化更难,例如在搜索和替换颜色值时(“哦,现在我必须考虑#FFFFFFwhite#FFF”)。

您节省的尺寸永远不值得您在可维护性方面的损失。使用minifaction和compression来节省带宽。

答案 2 :(得分:12)

答案 3 :(得分:5)

如果您在IE 7 8或9中的表中使用它(不幸的是,这与此回复日期相关)

http://www.w3schools.com/html/tryit.asp?filename=tryhtml_tables

6位数代码工作正常但3位代码呈现为黑色

<table border="1" bgcolor="#ff0000">  vs.    <table border="1" bgcolor="#ff0">

答案 4 :(得分:3)

如果“3位”版本产生您需要的颜色,那么您可以随意使用它。这肯定没错。

答案 5 :(得分:3)

我总是使用速记。最好的优点是我可以轻松记住代码。

你还有16个 3 = 4,096种颜色可供选择,应该就够了。

但是,如果在速记颜色代码中保存300个字节,则意味着您的CSS中有100个颜色。除非你的页面非常多样化,否则所有的彩虹和鲜花似乎都很多。您可能擅长系统化CSS,但我经常会看到不必要的CSS规则。 EX:如果你要为许多子元素设置相同的规则,而这些子元素可以通过在祖父母和一个异常元素中设置规则来替换。

答案 6 :(得分:2)

这是事实,但这种转变并不普遍:

#FFF == #FFFFFF
#CCC == #CCCCCC

所以它的作用是“加倍”每个十六进制数字。所以颜色不一样。然而,它看起来可能是相同的,因为差异是微小的。在这种情况下,校准的颜色工作流程可能有所帮助。

答案 7 :(得分:0)

使用速记或普通的十六进制颜色无关紧要,如果您愿意,请继续进行转换。

  

删除它们在我的CSS文件中保存了整整300个字节

哇,一个完整的300字节! :D,sarcasm ftw

除非你要缩小,压缩和组合所有的css,javascript等,否则300字节几乎不值得打扰,特别是当平均网速增加时。

玩得开心!

答案 8 :(得分:0)

这是不可能的,请仔细检查十六进制颜色代码的工作方式。对于少数颜色代码,我们可以将其减少到3位数字,但是对于许多十六进制颜色代码,我们不能将其降低到3位数字。请检查以下链接以进行进一步的说明。

https://www.quackit.com/css/color/values/css_hex_color_notation_3_digits.cfm https://www.quackit.com/css/color/values/css_hex_color_notation_6_digits.cfm