64

我最近浏览了我的 CSS 文件,并将我所有的六位数十六进制代码转换为简单的三位数代码(例如,我的#FDFEFF缩写为#FFF)。

它呈现几乎与以前完全相同的颜色,在我看来,中间部分相当无用,删除它们在我的 CSS 文件中节省了整整 300 个字节。

您使用哪个版本有关系吗?我很少遇到只使用三位数代码的网站(或者我想我从来没有遇到过使用三位数代码的网站)。使用三位数代码而不是六位数代码仍然完全有效,还是我们应该使用完整的六位数代码?

4

9 回答 9

98

三位数代码是简写,与#123相同#112233。在您给出的示例中,您(有效地)换成#FDFEFF#FFFFFF接近原始颜色的 ,但显然不准确。

因此,您使用哪个版本并不“重要”,但是三位数的颜色代码意味着您在色调方面的选择更少。如果您认为节省 300 字节是值得的,那么请继续使用三位代码,但除非您针对低带宽情况进行设计,否则这 300 字节不会真正为您节省那么多。

于 2010-06-24T10:00:47.297 回答
26

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

你在大小上节省的东西永远不值得你在可维护性方面失去的东西。使用缩小和压缩来节省带宽。

于 2010-06-24T10:01:04.687 回答
13

如果你想节省字节,那么你最好使用 CSS 缩小技术

于 2010-09-10T02:49:20.040 回答
5

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

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

六位代码工作正常,但三位代码呈现为黑色:

<table border="1" bgcolor="#ff0000">  vs.    <table border="1" bgcolor="#ff0">
于 2012-07-05T23:45:53.160 回答
4

如果“3 位”版本产生您需要的颜色,那么您可以随心所欲地使用它。这当然没有错。

于 2010-06-24T09:58:34.823 回答
3

我总是使用速记。最大的好处是我可以很容易地记住代码。

您仍然有 16 3 = 4,096 种颜色可供选择,应该足够了。

但是,如果您保存 300 个字节的速记颜色代码,则意味着您在 CSS 中声明了 100 种颜色。除非您的页面非常多样化,或者所有的彩虹和花朵看起来都很多。你可能擅长系统化 CSS,但我经常看到不必要的 CSS 规则。

示例:如果您正在为许多子元素设置相同的规则,而这些子元素可能已经被在祖父母和一个异常元素中设置规则所取代。

于 2016-12-01T09:37:55.650 回答
1

无论您使用速记还是普通的十六进制颜色都没有关系,所以如果您愿意,请继续转换它们。

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

哇,整整 300 字节!:D,对胜利的讽刺

问题是,除非您要缩小、压缩和合并所有 CSS、JavaScript 等内容,否则 300 字节几乎不值得费心,尤其是在平均 Internet 速度不断提高的情况下。

于 2010-06-24T09:59:22.170 回答
1

确实如此,但这种转换并不普遍:

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

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

于 2010-06-24T10:01:54.923 回答
0

这不可能。请了解十六进制颜色代码的工作原理。对于一些颜色代码,我们可以将其减少到三位数,但是对于许多十六进制颜色代码,我们不能将其减少到三位数。请检查以下链接以获得进一步说明。

于 2019-12-05T12:21:02.037 回答