CSSselect器中的类名是否区分大小写?
我一直在阅读CSS,不区分大小写,但我有这个select器
.holiday-type.Selfcatering
当我在我的HTML中使用,就像这样,被拿起来
<div class="holiday-type Selfcatering">
如果我像这样改变上面的select器
.holiday-type.SelfCatering
那么风格不会被拿起来。
有人在说谎。
CSSselect器通常不区分大小写; 这包括类和IDselect器。
但是, HTML类名是区分大小写的 (参见属性定义),这会导致第二个示例中的不匹配。 这在HTML5中没有改变。 1
这是因为select器的区分大小写取决于文档语言所说的内容 :
所有select器语法在ASCII范围内都是不区分大小写的(即[az]和[AZ]是等同的),除了不受Selectors控制的部分。 文档语言元素名称,属性名称和select器中的属性值区分大小写取决于文档语言。
因此,给定一个有Selfcatering
类但没有SelfCatering
类的HTML元素,select器.Selfcatering
和[class~="Selfcatering"]
将匹配它,而select器.SelfCatering
和[class~="SelfCatering"]
不会。 2
如果文档types定义的类名不区分大小写,那么无论如何你都会有一个匹配。
1 在所有浏览器的怪癖模式下,类和ID是不区分大小写的。 这意味着不匹配的select器将始终匹配。 由于传统原因,这种行为在所有浏览器中都是一致的,在本文中提到。
2 对于它的价值, select器级别4包含了一个build议的语法,用于强制使用[class~="Selfcatering" i]
或[class~="SelfCatering" i]
[class~="Selfcatering" i]
对属性值进行不区分大小写的search。 这两个select器都会将HTML或XHTML元素与Selfcatering
类或SelfCatering
类(或者当然是两者)匹配。 然而,类或IDselect器(还没有?)没有这样的语法,大概是因为它们与常规的属性select器( 没有与它们相关联的语义)携带不同的语义,或者因为很难提出可用的语法。
也许不是谎言,但需要澄清。
实际的css本身不区分大小写。
例如
wiDth:100%;
但是名称,它们必须是区分大小写的唯一标识符。
希望有所帮助。
在怪癖模式下 ,使用CSS class
和id names
时,所有浏览器的行为都不区分大小写 。
在怪癖模式下,CSS类和id名不区分大小写。 在标准模式下,它们区分大小写。 (这也适用于getElementsByClassName。) 阅读更多…
有时候,如果你有错误的文档types,你的浏览器进入怪癖模式。
<!DOCTYPE html PUBLIC> <!DOCTYPE html anytext>
你应该使用标准的文档types
HTML 5
<!DOCTYPE html>
HTML 4.01严格
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01过渡
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01框架集
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0严格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0过渡
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0框架集
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
如果您的CSS class
或id names
行为case insensitive
请检查您的文档types。