html – 如何将CSS选择器应用于区分大小写的属性值?

如果CSS和HTML都是不区分大小写的语言(*),而 the W3C

The case-sensitivity of attribute names and values in selectors depends on the document language.

如何与选择器中的属性值区分大小写?例如,

div[title=TITLE] {color:green}

不会使文本绿色为此HTML:

<div title="title">This is a div</div>

Fiddle here.

这是浏览器中的错误吗?当我说“浏览器”时,我的意思是所有的.或者我正在看一个未完成的CSS3规范版本?这将是奇怪的,因为同样的文本行也在CSS2规范here.

(*),除了某些功能是显式异常,如类和ID名称.请注意,此示例没有类或ID名称.

解决方法

HTML5实际上包含一个专门用于区分大小写的 entire section,用于选择器匹配.以下是关于属性名称和值的说明:

Attribute and element names of HTML elements in HTML documents must be treated as ASCII case-insensitive for the purposes of selector matching.

Everything else (attribute values on HTML elements,IDs and classes in no-quirks mode and limited-quirks mode,and element names,attribute names,and attribute values in XML documents) must be treated as case-sensitive for the purposes of selector matching.

当然,HTML 4并没有说明与选择器互操作的任何内容,但是它确实说the title attribute in particular is case-sensitive.由于选择器依赖文档语言来确定区分大小写,所以在这里没有区别.

XHTML遵循与XML相同的规则集:所有属性值都应区分大小写,因此选择器必须遵循这种区分大小写.再次,没有区别.

所以你看到的完全是设计的;没有浏览器或规范问题.

相关文章

Mip是什么意思以及作用有哪些
怎么测试Mip页面运行情况
MIP安装的具体步骤有哪些
HTML添加超链接、锚点的方法及作用详解(附视频)
MIP的规则有哪些
Mip轮播图组件中的重要属性讲解