Html CSS选择器中的类名是否区分大小写?
我一直读到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
.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