Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html CSS选择器中的类名是否区分大小写?_Html_Css_Css Selectors - Fatal编程技术网

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

Html CSS选择器中的类名是否区分大小写?,html,css,css-selectors,Html,Css,Css Selectors,我一直读到CSS不区分大小写,但我有这个选择器 .holiday-type.Selfcatering 当我在我的HTML中使用时,像这样,会被拾取 <div class="holiday-type Selfcatering"> 那么,这种风格就不会被接受 有人在说谎。CSS选择器通常不区分大小写;这包括类和ID选择器 但是(请参见属性定义),在第二个示例中,这会导致不匹配。这一点在过去没有改变 这是因为选择器区分大小写: ASCII范围内的所有选择器语法都不区分大小写(即[a-z

我一直读到CSS不区分大小写,但我有这个选择器

.holiday-type.Selfcatering
当我在我的HTML中使用时,像这样,会被拾取

<div class="holiday-type Selfcatering">
那么,这种风格就不会被接受


有人在说谎。

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

但是(请参见属性定义),在第二个示例中,这会导致不匹配。这一点在过去没有改变

这是因为选择器区分大小写:

ASCII范围内的所有选择器语法都不区分大小写(即[a-z]和[a-z]是等效的),不受选择器控制的部分除外。选择器中文档语言元素名称、属性名称和属性值的大小写敏感度取决于文档语言

因此,给定一个HTML元素,它有一个
自餐饮
类,但没有
自餐饮
类,选择器
.selffeating
[class~=“selffeating”]
将匹配它,而选择器
.selffeating
[class~=“selffeating”]
将不匹配它。2

如果文档类型将类名定义为不区分大小写,那么不管怎样,您都会有一个匹配项


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


2为了说明它的价值,包含了一个建议的语法,用于使用
[class~=“Selfcatering”i]
[class~=“Selfcatering”i]
强制对属性值进行不区分大小写的搜索。这两个选择器都将HTML或XHTML元素与
自配给
类或
自配给
类(当然,两者都可以)匹配。然而,对于类或ID选择器没有这样的语法(还没有),可能是因为它们与常规属性选择器(没有与之相关的语义)具有不同的语义,或者是因为很难找到可用的语法。

也许不是谎言,但需要澄清

实际的css本身不区分大小写

比如说

wiDth:100%;
但是名称必须区分大小写才能作为唯一标识符


希望这能有所帮助。

在“怪癖”模式下,所有浏览器在使用CSS类和id名时都像不区分大小写

在怪癖模式下,CSS类和id名称不区分大小写。在里面 标准模式它们区分大小写。(这也适用于 getElementsByClassName。)

有时,当您有错误的doctype(如bellow)时,您的浏览器会进入怪癖模式

<!DOCTYPE html PUBLIC>
<!DOCTYPE html anytext>

您应该使用标准doctype

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"> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

HTML 4.01框架集

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> 

XHTML1.0标准

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

XHTML1.0过渡版本

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

XHTML1.0框架集

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 

XHTML1.1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 


如果您的CSS类或id名称不区分大小写,请检查您的doctype。

CSS不区分大小写

但在HTML5中,类和ID区分大小写

因此,CSS属性、值、伪类名、伪元素名、元素名不区分大小写

CSS类、id、URL和字体系列区分大小写

注意:在html怪癖模式下,css甚至对ID和类都不区分大小写(如果删除doctype声明)

代码笔示例:


CSS区分大小写?
P#id
{颜色:红色;}
p#ID
{字体大小:30PX;}
#身份证
{边框:4px纯蓝色;}
班
{文本装饰:下划线;}
班
{背景色:灰色;}
班
{字体大小:900;}
#ID::之后
{内容:“彩色文本”;
显示:块;
颜色:#fAdAcA;}
.类别:悬停
{背景色:浅蓝色;}

红色和下划线

30px字体大小和灰色背景

粗体和蓝色边框


哇,这与我的建议正好相反。那里的
div
div
选择器都与
匹配,但是id和类名选择器必须完全区分大小写。除非我误解了你们的答案?@Roddy of thefreezepeas:这是因为HTML类和id区分大小写,而标记名则不区分大小写。出于这个原因,我在回答中特别地留下了标签名。(顺便说一句,在真正的XHTML中,标记名只区分大小写,而不管doctype如何-如果JSFIDLE可以让您强制页面作为应用程序/XHTML+xml,那么
DIV
选择器将不再匹配。)@BoltClock这里的“文档语言”是什么意思?@Geek:“文档语言”指的是应用CSS的任何语言,最常见的是HTML、XHTML或XML。你可以找到它的定义。还有其他人完全混淆了吗?如果选择器不区分大小写,那么根据定义,CSS类(相对于选择它们的选择器)不也不区分大小写吗?换句话说,就彼此(CSS类和选择器)而言,如果其中一个不区分大小写,则意味着它们都不区分大小写。换句话说,如果我的选择器是
.selfcatering
,并且选择器不区分大小写,那么它为什么要关心类是
selfcatering
还是
selfcatering
?我遗漏了什么?这个故事的寓意就是始终区分大小写——不要随意地来回跳跃。你会发现你的代码更容易阅读,任何捡起你的剩菜的人都会很感激。从现在起我将视为区分大小写。class=“Price”不起作用,class=“Price”起作用,因此在实际的日常意义上,它们是区分大小写的。请看,关于属性和选择器的值中的大小写敏感度。有趣的是,我在我的c