2012-07-27 26 views
1

是不是習慣使用它的id來設計一個元素,還是應該引用每個引用相應css的元素的樣式?不好的css練習直接通過它們的id來設計元素而不是引用css類?

<div id="test"> 
</div> 

對:

<div id="test" class="testClass"> 
</div> 

#test{ 
color:blue; 
} 

.testClass { 
color:blue 
} 
+1

看到這個答案:http://stackoverflow.com/questions/11671153/should-i-aim-to-add-a-class-id-to-everything-or-use-other-selectors/11671266#11671266 – BonyT 2012-07-27 11:00:50

+0

這需要意見和討論,而不是基於事實的答案。這也意味着一個錯誤的「css類」概念(沒有這樣的東西,只有「css id」)。 – 2012-07-27 11:01:18

+0

沒有「Css類」這樣的東西? - MS可能會不同意你在那裏:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.cssclass(v=vs.71).aspx – BonyT 2012-07-27 11:03:00

回答

1

這不是一個壞的或好的做法。 id選擇器的用途與class不同。

如果您打算只設計這一個元素,而不是在其他地方重新使用樣式 - id是您的選擇。如果您需要很多類似的div -s具有相同的樣式 - 請使用class

1

的ID是基本相同的事,作爲一個類,ID是稍快,而應僅被一個元件上使用的,而類可以用於許多。

0

如果你想讓多個元素具有藍色的顏色,那麼你需要使用一個類,否則一個id很好。

0

ID的號碼是唯一的。應該只有一個元素在您的頁面上具有該ID。在造型方面,我不認爲這樣做是不好的做法,但ID在特異性方面取得勝利。基本上,選擇器越具體,在涉及到相互矛盾的樣式時就會越偏好,所以應用於ID的任何樣式都會覆蓋其他樣式。

p has a specificity of 1 (1 HTML selector) 
div p has a specificity of 2 (2 HTML selectors; 1+1) 
.tree has a specificity of 10 (1 class selector) 
div p.tree has a specificity of 12 (2 HTML selectors and a class selector; 1+1+10) 
#baobab has a specificity of 100 (1 id selector) 
body #content .alternative p has a specificity of 112 (HTML selector, id selector, class selector, HTML selector; 1+100+10+1) 
1

ID VS類

#id

的ID必須在文檔中唯一的,並且經常被用於檢索使用的document.getElementById的元素。在某些文檔中(尤其是HTML,XUL和SVG),元素的id可以被指定爲元素的屬性,如下所示:。

但是,如果不在DOCTYPE中正確指定id屬性的類型,則無法在自定義XML文檔中使用此屬性。

id的其他常見用法包括在使用CSS對文檔進行樣式化時使用元素的ID作爲選擇器。

請注意,ID區分大小寫,但不應創建僅在大寫區分方面不同的ID(請參閱類和ID名稱中的區分大小寫)。

.class

分配一個類名稱或一組類名的給一個元素。您可以將相同的類名稱或名稱分配給任意數量的元素。如果您指定多個類名稱,則它們必須用空格字符分隔。

元素的類的名字有兩個關鍵角色:

作爲一個樣式表選擇器,用於當作者想要的樣式信息分配到一組元素。 瀏覽器的一般用法。 該類可用於使用CSS來設置SVG內容的樣式。

0

這不是一個壞習慣,但它取決於你的使用。

如果您爲頁面中的每個元素設置了一些規則,那麼很快就無法理解發生了什麼,您的css會變成一個非常長的文件。

定義一個類允許多個元素使用相同的一組規則,所以你應該設計你的頁面來允許這樣的行爲。

通常情況下,你應該混合策略,你可以,例如,風格與id頁面的一些「重要」元素,如標題,頁腳,正文等,而其他作品或組件應該使用類對齊。

0

我不這麼認爲,如果你在風格中使用ID或Class,它會產生很大的差異。類選擇器用於指定一組元素的樣式。與id選擇器不同,類選擇器通常用於多個元素。

更多的參考,你可以看到這個鏈接

http://css-tricks.com/the-difference-between-id-and-class/

在JavaScript中,ID起着重要的作用。如果您使用ID來搜索任何DOM元素,那麼隨着JavaScript Parser在相應頁面上返回具有該ID的第一個元素的值,搜索將會更快。而如果你使用類然後JS搜索整個頁面,並收集所有元素與該類。由於這個搜索變得有點慢。

相關問題