当前位置: 首页 > 面试题库 >

CSS选择器中的类名是否区分大小写?

郎成龙
2023-03-14
问题内容

我到处都读到CSS不区分大小写,但是我有这个选择器

.holiday-type.Selfcatering

当我像这样在HTML中使用时,它会被拾取

<div class="holiday-type Selfcatering">

如果我这样改变上面的选择器

.holiday-type.SelfCatering

这样就不会拾取样式。


问题答案:

CSS选择器通常不区分大小写;这包括类和ID选择器。

但是HTML类名 _是_区分大小写的(见属性定义),这就是导致你的第二个例子不匹配。HTML5中没有更改。1个

这是因为选择器的区分大小写取决于文档语言的含义:

在ASCII范围内,所有Selectors语法均不区分大小写(即[az]和[AZ]等效),但不受Selectors控制的部分除外。选择器中文档语言元素名称,属性名称和属性值的区分大小写取决于文档语言。

因此,给定一个具有Selfcatering类但没有SelfCatering类的HTML元素,选择器.Selfcatering[class~="Selfcatering"]将匹配它,而选择器.SelfCatering[class~="SelfCatering"]将不匹配
。2

如果文档类型将类名定义为不区分大小写,则无论如何都会有一个匹配项。

1
在所有浏览器的怪癖模式下,类和ID不区分大小写。这意味着大小写不匹配的选择器将始终匹配。由于遗留原因,此行为在所有浏览器中都是一致的,并在本文中进行了提及。

2 值得一提的是,选择器4级)包含一个建议的语法,用于强制使用[class~="Selfcatering"i]或对属性值进行不区分大小写的搜索[class~="SelfCatering"i]。这两个选择器都会将HTML或XHTML元素与一个Selfcatering类或一个SelfCatering类(或者,当然两者)匹配。但是,类或ID选择器还没有这样的语法(还可以吗?),可能是因为它们具有与常规属性选择器(没有 关联的语义)不同的语义,或者是因为很难提出可用的语法。



 类似资料:
  • 问题内容: 我最近正在更新CMS网站,并且标签导航插件已插入以下标记: 我一直以小写形式编写CSS选择器,因此当我尝试使用设置样式时,它将不适用,但可以使用。 这些年来,令我感到惊讶的是,我之前从未遇到过这种情况,因此,我一直给人以CSS不区分大小写的印象。CSS始终区分大小写吗,由于我始终如一的代码风格,我只是没有注意到它? 问题答案: CSS本身不区分大小写,但是HTML(类和id)的选择器区

  • 问题内容: 是否存在不区分大小写的:包含jQuery选择器的版本,还是应该通过循环所有元素并将它们的.text()与我的字符串进行比较来手动完成工作? 问题答案: 我最终为jQuery 1.2做的是: 这将扩展jquery以使其不区分大小写的:Contains选择器,:contains选择器保持不变。 编辑:对于jQuery 1.3和更高版本,您需要 编辑:显然通过使用直接访问DOM 代替 在前面

  • 问题内容: MySQL中的表名是否区分大小写? 在Windows开发机器上,我拥有的代码能够查询我的表,这些表看起来都是小写的。当我在数据中心中部署到测试服务器时,表名似乎以大写字母开头。 我们使用的服务器都在Ubuntu上。 问题答案: 一般来说: 数据库和表名在Windows中不区分大小写,在大多数Unix版本中都不区分大小写。 在MySQL中,数据库与data目录中的目录相对应。数据库中的每

  • 本文向大家介绍CSS 类名选择器,包括了CSS 类名选择器的使用技巧和注意事项,需要的朋友参考一下 示例 类名选择器选择具有目标类名的所有元素。例如,类名称.warning将选择以下<div>元素: 您还可以将类名称更具体地组合到目标元素。让我们以上面的示例为基础,展示更复杂的类选择。 的CSS 的HTML 在此示例中,具有.warning类的所有元素将具有蓝色文本颜色,具有.important类

  • 我有一个db表说,在Postgres传给另一个团队,有一个列名说,。现在我试图使用PG指挥官来查询这个列名称上的表。 然后它就回来了 错误:列"first_Name"不存在 不确定我是在做一些愚蠢的事情,还是有解决这个问题的方法,我错过了?

  • 问题内容: 谁能告诉我默认情况下MySQL 查询是否区分大小写?如果没有,我将要发送什么查询,以便执行以下操作: 实际上,的真正价值是。 问题答案: 除非您进行二进制比较,否则它们 不区分大小写 。