2009-12-30 98 views

回答

3

您可以在文档中出现一次的元素使用ID。您可以为页面中的多个元素使用类。

div#name和#name有什么区别?

DIV#名称

仅指该div具有ID '名称'

而#NAME是指任何元件,其具有ID '名称'

1

类选择可以适用于许多标签,而一个ID是唯一与单个标签相关联。所以我会说一个类选择器将返回多个元素,而一个id选择器将返回一个。

1

div#name将选择器限制为只有id的DIV。

#name苹果与任何具有该ID的元素。

正如@naivists指出的那样,在两个规则之间并发的情况下,更明确的一个(div#name)获胜。

+1

'#'过滤器属性“id”,而不是“名称” – 2009-12-30 13:05:11

+0

当然,谢谢。编辑。 – 2009-12-30 13:11:49

0

DIV#名称将匹配

<div id="name">foo</div> 

但不

<span id="name">foo</span> 

#NAME将同时匹配,但你不能同时拥有同一文档的ID在在文档中的独特和类可以是多个。

1

ID是在页面上是独一无二的,具有更多的特异性换句话说,如果你有

<div id="foo" class="bar"> 

然后

#foo{ 
    background: green; 
} 
div#foo{ 
    background: red; 
}  
.bar{ 
    background: purple; 
} 

将是红色的。这是一个很好特异性战争的这个使用达斯维达星球大战这里 http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html

的形象在这里解释: http://www.stuffandnonsense.co.uk/archives/images/specificitywars-05v2.jpg

简单的ID#胜过任何数量的(。)反过来胜过任何数量的标签选择器。例如:

# *beats* . . . . *beats* body div div ol li p 
0

至于定位,你通常有许多具有给定类名的元素,但是id是特定于单个元素的。一般情况下,您不想同时定位多个元素,除非它仅用于一个轴。

相关问题