微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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相同的规则集:所有属性值都应区分大小写,因此选择器必须遵循这种区分大小写.再次,没有区别.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。