2012-04-28 31 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

相關問題