是否有理由将大写字母用于十六进制 CSS 颜色值?
Is there a reason to use uppercase letters for hexadecimal CSS color values?
我看到 CSS 属性值中的颜色通常以大写形式书写:
.foo .bar {
background-color: #A41B35;
color: #FFF;
}
但您也可以使用:
/* Same same */
.foo .bar {
background-color: #a41b35;
color: #fff;
}
/* Check the link to see why it can be interesting */
.foo .bar {
background-color: #A41b35;
color: #FfF;
}
无论如何 (ho ho ho),尽可能使用 white
之类的命名颜色来代替 #fff
让我们的生活更轻松,但这是另一个问题。
看起来使用小写值的效果相同,并且 CSS 颜色值 are not case-sensitive。许多图形设计软件也使用大写形式。而且在源代码中发现大写符号很常见,看起来有点像传统。
我了解一致性问题,它应该在您的软件中处处相同,但由于标准没有给出很好的指示,人们会他们想做什么或 他们被告知要做什么。
这是否有合理的原因,例如历史、兼容性、旧的 IE6 黑客攻击、性能或实际原因?
CSS 值不区分大小写。说使用大写不是一个好习惯。遵循常态。使用小写。
除了个人喜好,我不知道有什么不同。就个人而言,我更喜欢小写字母,因为它阅读起来更快,尽管在非常短的字符串(例如 CSS 颜色值)中,好处可能可以忽略不计。 真的,我想只是因为我觉得小写更好看。
十六进制,但是,是传统上用大写字母书写的,所以也许我 - 严格来说 - 在 'wrong'.
这真的不重要,重要的是有一个约定并坚持下去。我喜欢使用严格的 sass-lint 规则来强制执行小写十六进制值,并在可能的情况下使用短值(例如 #fff
而不是 #ffffff
)。
以下是我选择小写字母的原因;
打字更轻松快捷(我已经更改了大写键的键绑定,使用 shift 很尴尬,尤其是混合数字和字母)
如果您知道会发生什么,搜索起来会更容易。 (假设您正在将旧代码重写为 Sass,您已经修复了所有出现的 #aa99cc
,但是 AA99cc
、Aa99CC
、A9C
、a9c
?林婷会为你挑出这些问题)
"it is very common to find uppercase notations"
这个答案并不是说你 应该 在 CSS 中使用大写字母,而是美学猜想和历史先例为什么你会经常看到大写字母。
(1) 所以你已经知道同时存在小写字母(x 高或大写字母的大约一半高度)和大写字母(大写字母或非西尔字母,其中字母几乎占据了 em 框的整个高度),但是还存在全高数字和低高数字(也称为旧式数字、小写、悬挂数字)。你不会在现实世界中找到这些数字,除了老爷钟,但许多字体通过 'onum' 功能或有时甚至 'scmp'(小型大写字母)功能支持它们。
知道这些高度变体都存在,显示全高数字和半高字母的混合会导致字符高度不一致,相反,混合半高数字和全高字母会导致字符高度不一致(当然,你不能在 OpenType 功能之外使用半高数字,因为它们没有唯一的 Unicode 代码点)。因此,像 PhotoShop 这样的专业设计应用程序可能更注重呈现的美感与打字效率(按住 Shift 键),这在 CSS 无处不在之前并不是最重要的。
(2) 早期的编程语言(COBOL、FORTRAN、BASIC...)和输入终端设备都是大写的——没有输入小写的键,即使有,这些字符也不存在于有限的字符集。
没有标准,但一致性很重要。
为了保持一致性,将数字(十进制或十六进制)与单词分开是有意义的。例如,在 "1px solid #D0D0D0"
中,所有字母和关键字都是小写(短),而 numbers/digits 是高;请注意 "0"
和 "D"
都是数字。
这也与项目的其余部分一致,它们可能具有不同的十六进制语法,如 0xCAD
或 \xCAD
或 CADh
。写 0xcad
、\xcad
或 cadh
将不可读。
今天没有人质疑十六进制数字不区分大小写,但是与其他数字系统相比,不区分大小写是相当例外的。事实上,多功能数字系统转换器很少出现这种情况,它们假设数字仅由大写字母组成,或者仅由小写字符组成。
从历史上看,十六进制数字仅由大写字母表示,原因很简单,因为早期的操作系统不对小写字符进行编码。做复古计算的人肯定会选择大写
A quick google search 让你知道有很多人喜欢小写字母。就个人而言,我发现小写字母更容易识别,也更容易编写,因为大多数(如果不是全部?)CSS 代码都是小写字母并且对大小写类型不敏感。哦,在代码上看起来更好。 :3
大写为objectively easier to read.
例外情况是当小写字母的大小是可读大小的两倍时,由于“字形”——“d”、“h”和“p”上的尖位构成“xxxd”和“xhxpx”可区分。 REGARDLESS OF SIZE,像“1lmnmmn”这样的代码没有字形。
小写也有类似字符,如“1l”和“mnw”等,具体取决于字体。大写字母 O 和 0 也会遇到这种情况,这就是为什么在控制台字体上使用横线零。
Base32 通过使用所有 26 个大写字母和仅 6/10 的数字:2、3、4、5、6 和 7,对第二个问题采取了完全不同的方法。
早期的计算机工程师出于充分的理由做出了正确的选择 - 易读性提高了准确性。
我看到 CSS 属性值中的颜色通常以大写形式书写:
.foo .bar {
background-color: #A41B35;
color: #FFF;
}
但您也可以使用:
/* Same same */
.foo .bar {
background-color: #a41b35;
color: #fff;
}
/* Check the link to see why it can be interesting */
.foo .bar {
background-color: #A41b35;
color: #FfF;
}
无论如何 (ho ho ho),尽可能使用 white
之类的命名颜色来代替 #fff
让我们的生活更轻松,但这是另一个问题。
看起来使用小写值的效果相同,并且 CSS 颜色值 are not case-sensitive。许多图形设计软件也使用大写形式。而且在源代码中发现大写符号很常见,看起来有点像传统。
我了解一致性问题,它应该在您的软件中处处相同,但由于标准没有给出很好的指示,人们会他们想做什么或 他们被告知要做什么。
这是否有合理的原因,例如历史、兼容性、旧的 IE6 黑客攻击、性能或实际原因?
CSS 值不区分大小写。说使用大写不是一个好习惯。遵循常态。使用小写。
除了个人喜好,我不知道有什么不同。就个人而言,我更喜欢小写字母,因为它阅读起来更快,尽管在非常短的字符串(例如 CSS 颜色值)中,好处可能可以忽略不计。 真的,我想只是因为我觉得小写更好看。
十六进制,但是,是传统上用大写字母书写的,所以也许我 - 严格来说 - 在 'wrong'.
这真的不重要,重要的是有一个约定并坚持下去。我喜欢使用严格的 sass-lint 规则来强制执行小写十六进制值,并在可能的情况下使用短值(例如 #fff
而不是 #ffffff
)。
以下是我选择小写字母的原因;
打字更轻松快捷(我已经更改了大写键的键绑定,使用 shift 很尴尬,尤其是混合数字和字母)
如果您知道会发生什么,搜索起来会更容易。 (假设您正在将旧代码重写为 Sass,您已经修复了所有出现的
#aa99cc
,但是AA99cc
、Aa99CC
、A9C
、a9c
?林婷会为你挑出这些问题)
"it is very common to find uppercase notations"
这个答案并不是说你 应该 在 CSS 中使用大写字母,而是美学猜想和历史先例为什么你会经常看到大写字母。
(1) 所以你已经知道同时存在小写字母(x 高或大写字母的大约一半高度)和大写字母(大写字母或非西尔字母,其中字母几乎占据了 em 框的整个高度),但是还存在全高数字和低高数字(也称为旧式数字、小写、悬挂数字)。你不会在现实世界中找到这些数字,除了老爷钟,但许多字体通过 'onum' 功能或有时甚至 'scmp'(小型大写字母)功能支持它们。
知道这些高度变体都存在,显示全高数字和半高字母的混合会导致字符高度不一致,相反,混合半高数字和全高字母会导致字符高度不一致(当然,你不能在 OpenType 功能之外使用半高数字,因为它们没有唯一的 Unicode 代码点)。因此,像 PhotoShop 这样的专业设计应用程序可能更注重呈现的美感与打字效率(按住 Shift 键),这在 CSS 无处不在之前并不是最重要的。
(2) 早期的编程语言(COBOL、FORTRAN、BASIC...)和输入终端设备都是大写的——没有输入小写的键,即使有,这些字符也不存在于有限的字符集。
没有标准,但一致性很重要。
为了保持一致性,将数字(十进制或十六进制)与单词分开是有意义的。例如,在 "1px solid #D0D0D0"
中,所有字母和关键字都是小写(短),而 numbers/digits 是高;请注意 "0"
和 "D"
都是数字。
这也与项目的其余部分一致,它们可能具有不同的十六进制语法,如 0xCAD
或 \xCAD
或 CADh
。写 0xcad
、\xcad
或 cadh
将不可读。
今天没有人质疑十六进制数字不区分大小写,但是与其他数字系统相比,不区分大小写是相当例外的。事实上,多功能数字系统转换器很少出现这种情况,它们假设数字仅由大写字母组成,或者仅由小写字符组成。
从历史上看,十六进制数字仅由大写字母表示,原因很简单,因为早期的操作系统不对小写字符进行编码。做复古计算的人肯定会选择大写
A quick google search 让你知道有很多人喜欢小写字母。就个人而言,我发现小写字母更容易识别,也更容易编写,因为大多数(如果不是全部?)CSS 代码都是小写字母并且对大小写类型不敏感。哦,在代码上看起来更好。 :3
大写为objectively easier to read.
例外情况是当小写字母的大小是可读大小的两倍时,由于“字形”——“d”、“h”和“p”上的尖位构成“xxxd”和“xhxpx”可区分。 REGARDLESS OF SIZE,像“1lmnmmn”这样的代码没有字形。
小写也有类似字符,如“1l”和“mnw”等,具体取决于字体。大写字母 O 和 0 也会遇到这种情况,这就是为什么在控制台字体上使用横线零。
Base32 通过使用所有 26 个大写字母和仅 6/10 的数字:2、3、4、5、6 和 7,对第二个问题采取了完全不同的方法。
早期的计算机工程师出于充分的理由做出了正确的选择 - 易读性提高了准确性。