CSS中的属性值区分大小写吗?

Pet*_*uss 20 html css properties case-sensitive

我观察到一些CSS属性,如font-family用引号声明,可能区分大小写,但所有其他都不是......但是Web浏览器和"HTML渲染器"必须如何解释?在任何CSS上下文(XML,SVG等)和所有其他应用程序中是否相同?标准说的是什么?

示例:Adobe InDesign导出两者,font-family:'Optima Bold'font-family:'optima bold'.我可以"规范化为小写"(例如合并类似的类)吗?

笔记

参考文献不完整且存在冲突:


这个问题/答案相比,这里的观点或许可以转化为某些(个人)客观考虑因素:

  1. 这个答案有一个(目标!)规范(CSS3,CSS3,XHTML1或HTML5的W3C规范)来源?

  2. "标准font-family唯一名称"不能区分大小写(否则不再是标准的)...因此,区分大小写的唯一合理(通过合理的参数)属性是:

    2.1.Xurl(X),见background,等等;

    2.2.content价值观,例如 ;

    2.3....... 更多?...

Pet*_*uss 16

(更新@ÁlvaroG.Vicario的回答和评论,并补充这个答案 ......这是一个Wiki,请编辑增强)

示例:对于CSS3(和HTML5),有新的显式规则,因为" font-face属性必须不区分大小写".[2]


上下文

W3C互操作标准,主要是XML,HTML,CSV和CSS.

CSS一般规则

CSS2(2008年的W3C标准)修复了关于"角色和案例"的基本惯例,CSS3(2015年的W3C标准)增加了更多内容.

  1. 默认情况下"所有CSS语法都不区分大小写(...)" [1]

  2. 有例外,"(...)除了不受CSS控制的部分"[1]

    2.1.元素名称在HTML5(?)和XML中区分大小写,但在HTML4中不区分大小写.

    2.2.标识符(包括选择器中的元素名称,类和ID)区分大小写.HTML属性id以及class字体名称和URI都位于CSS规范的范围之外.

  3. ....

案例矩阵

例外和具体(在参考中明确)规则."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字符和案例.

[2] W3C/CSS3-fonts,sec.5.1字体系列名称的区分大小写

[3] W3C/CSS3-color,sec.4.1.基本颜色关键字

[4] W3C/CSS3值,秒.3.1.预定义的关键字

[5] W3C/选择器,秒.3.区分大小写

[6] W3C/Selectors4,sec.6.3.区分大小写


报价和备注

用户代理必须不区分大小写地匹配这些名称.[2]

.

...


Álv*_*lez 7

CSS 2的规范说:

CSS语法在ASCII范围内不区分大小写(即,[az]和[AZ]是等效的),除了不受CSS控制的部分.例如,HTML属性"id"和"class",字体名称和URI的值的区分大小写超出了本规范的范围.请特别注意,元素名称在HTML中不区分大小写,但在XML中区分大小写.

......这让人颇为感:CSS本身同时接受background-imageBACKGROUND-IMAGE但是却没有办法知道你的Web服务器是否考虑LOGO.PNGlogo.png为相同或不同的资源.

(我一直无法找到CSS3的等效文档)