2012-04-28 27 views
1

''是ID选择器,是CSS语言的基本部分。它将HTML元素与给定的id相匹配。我知道它,但在.css文件中使用.classname {...}#idselector之间的主要区别是什么。.class和#id:什么区别/何时使用?

.hello { color:000000;} 

#hello { color:000000;} 
+4

请注意,一个HTML文档只能有**一个**元素和一个特定的ID。这应该解释两者之间的最大区别... – Oded 2012-04-28 14:37:29

+0

[类或ID]可能的重复(http://stackoverflow.com/questions/719588/class-or-id) – 2012-04-28 17:11:46

回答

2

优先。 ID有更高的优先级,然后是类选择器。如果你有以下的CSS:

.hello { color:#000000;} 
#hello { color:#ff0000;} 

假设相同的元素具有“你好”的ID和阶级的“你好”该元素的字体颜色,因为ID具有更高的优先级,则类将是红色的选择。

此外,您只能在页面上拥有一个ID为'hello'的元素。但是,您可以拥有无​​限数量的“hello”类元素。

+0

这个答案是非常好的。很明显,谢谢:)) – hakiko 2012-04-28 14:43:02

+0

@hakiko,你可能无法投票,但不要忘记“接受”最好的答案。 – Sparky 2012-04-28 14:44:08

4

第一与CSS类中的任何元件你好,第二配衬与值你好的ID的任何元件相匹配。例如:

<div class="hello"></div> 

<div id="hello"></div> 
+0

为什么我使用.class或#,他们几乎和我想的一样。我可以使用.class而不是#吗? – hakiko 2012-04-28 14:37:35

+4

@hakiko - 在整个页面中只能有**一个**'id =“hello”'。但_many_'class =“hello”'。 – Oded 2012-04-28 14:38:46

+0

特异性也有所不同,它决定了哪些css规则得到应用。 http://www.w3.org/TR/css3-selector/#specificity – 2012-04-28 14:53:46

1

ID(#hello)只能用于唯一唯一元素(例如:登录按钮)。

类别(.hello)应该用于可重复的元素(例如:导航菜单按钮)。

+0

这个回答非常好。但我不能投票你知道。我是一个新用户,sory。我已经了解了其中的差异:) – hakiko 2012-04-28 14:41:45

1

ID是唯一的,某种元素可能只有一个ID,并且只有一个相同的ID可能存在于页面上。所以以下是无效的:

<div id="first_id second_id"></div> 
<div id="third_id"></div> 
<div id="third_id"></div> 

然而,类名却完全相反。一个元素可能有多个类名,并且同一个类名可以在文档中多次出现。


ID的目的,是要表示网页(即,首标,主内容的div,页脚),或内容(消息数149632)的独特部分的独特部分。

一个classname的用途是描述多个相同的含义对象。 (即对话框,帖子,菜单项)。


在CSS中,一个#id具有更高特异性价值,这意味着以下几点:

<div id="id" class="class">Test</div> 

#id { background: red; } 
.class { background: green; } 

将使股利红色,因为ID比类更加具体。

+0

这很清楚,谢谢朋友:) – hakiko 2012-04-28 14:48:32

+0

+1提到特异性http://www.w3.org/TR/css3-selectors/#specificity – 2012-04-28 14:53:07

相关问题