我观察到一些CSS属性,如用引号声明的font-family
,可能区分大小写,但所有其他都不是......但是Web浏览器和“HTML渲染器”必须如何解释?在任何CSS上下文(XML,SVG等)和所有其他应用程序中是否相同?标准说的是什么?
示例:Adobe InDesign导出了font-family:'Optima Bold'
和font-family:'optima bold'
。我可以“规范化为小写”(例如合并类似的类)吗?
参考文献不完整且存在冲突:
font-family
真的是独特的区分大小写的值吗?与this question/answers相比,这里的观点或许可以转化为一些(个人)客观考虑因素:
font-family
唯一名称”不能区分大小写(否则不再是标准的)...因此,区分大小写的唯一合理(通过合理的参数)属性是:
2.1。 X
在url(X)
的价值,见background
等属性;
2.2。 content
值,example;
2.3。 ... 更多 ?? ...(更新@ÁlvaroG.Vicario的回答和评论,以及complementing this answer ......这是一个Wiki,请编辑增强)
示例:对于CSS3(和HTML5),有新的显式规则,因为“font-face
属性必须不区分大小写”。[2]
W3C互操作标准,主要是XML,HTML,CSV和CSS。
CSS2(2008年的W3C标准)修复了关于“角色和案例”的基本惯例,CSS3(2015年的W3C标准)增加了更多内容。
id
和class
,字体名称和URI都位于CSS规范的范围之外。例外和具体(在参考中明确)规则。 “YES”表示该值区分大小写。
物业价值:
CSS property | Case-sens. | Reference and notes ------------------|------------|-------------------- %colorVals | NO | [3] font-family | NO | [2] %url | YES | ... content | YES | ... ---------------------------------------------------- %colorVals = color, background, etc. %url = background-image, etc. that use `url()`, see [7] and notes.
选择器值:
CSS selector | Case-sens. | Reference and notes ------------------|------------|-------------------- id | YES |... element | YES/NO | ... YES for XML... class name | YES | [5] (`~ i` operator) | NO | [6] ---------------------------------------------------- YES/NO = depends on the document language (see ref. and notes).
参考文献:
[1] W3C/CSS2/syndata, sec. 4.1.3 Characters and case。
[2] W3C/CSS3-fonts, sec. 5.1 Case sensitivity of font family names
[3] W3C/CSS3-color, sec. 4.1. Basic color keywords
[4] W3C/CSS3-values, sec. 3.1. Pre-defined Keywords
[5] W3C/Selectors, sec. 3. Case sensitivity
[6] W3C/Selectors4, sec. 6.3. Case-sensitivity
[7]维基百科上的RFC 3986和URL syntax illustration。
CSS 2的规范说:
CSS语法在ASCII范围内不区分大小写(即,[a-z]和[A-Z]是等效的),除了不受CSS控制的部分。例如,HTML属性“id”和“class”,字体名称和URI的值的区分大小写超出了本规范的范围。请特别注意,元素名称在HTML中不区分大小写,但在XML中区分大小写。
......这很有意义:CSS本身同时接受background-image
和BACKGROUND-IMAGE
,但它无法知道您的Web服务器是否将LOGO.PNG
和logo.png
视为相同或不同的资源。
(我一直无法找到CSS3的等效文档)