2012-04-19 32 views
0

我經常聽說我不應該在HTML元素上使用id屬性來在CSS中進行樣式設計。但是,情況總是如此?假設你的應用程序中有多個列表(ul),它們的類別爲horizontal-list。然而,你想爲每個ul應用一些獨特的樣式,你可以添加一個id並使用它?什麼時候可以使用Id進行造型?

#food .horizontal-list { 

} 

#food .horizontal-list li { 

} 

在這裏你只用它來分隔元素。或者你應該爲每個獨特的列表創建一個類。難道「不使用id's的造型purposes`只適用,如果你使用這樣?

#food { 
    /* loads of attributes */ 
} 

有人能解釋時,它是好的,使用的ID?

+5

更詳細的解釋你給的例子是完全正常的。在CSS中使用ID是可以的。如果不是,首先有ID選擇器有什麼意義?我堅持這樣一個立場:任何撰寫CSS Lint的人都只能說它是「那個人」。 – BoltClock 2012-04-19 19:41:15

+0

然後人們應該訪問JavaScript室並與許多尖叫者交談。 – LuckyLuke 2012-04-19 20:34:18

回答

6

我認爲這也從文章中指出CSS Lint is harmful

ID是非常有用的,你絕對應該使用它們。它們是 瀏覽器可以選擇給定元素的最快方式。對於頁面內錨定,它們是有用的 ,並且如果它們已經存在於標記中,則 將它們用作樣式鉤子。奇怪的是,他們也完全正確地使用 ,只要它們在任何給定頁面上只有一次該ID的一個實例 。

關於「選擇特異性」的爭論最多隻能延伸到 以證明不合規則。正確編寫您的CSS,並且不會陷入任何特異性陷阱 。我可以指望我的手數 這對我來說是一個問題,在6年的編碼CSS和HTML爲 生活在各種不同類型和規模的網站。

此規則可以被稱爲準確的唯一時間是如果您使用 ID來設計一個特定的HTML塊,並允許其在站點上的任何位置使用 。例如,如果您使用它來設置HTML圖庫 窗口小部件,用戶可以通過他們的CMS在任何頁面上包含該窗口小部件。他們可能會在頁面上指定多個頁面。但是,這是唯一的時間 這是一個問題。

在你的榜樣,你有它的方式是正確的,它是確定多次聲明它在你的CSS,你只是不想使用的元素的id多的時間。

+1

我剛剛在不多分鐘前推文。這是一個很好的閱讀。我無法理解爲什麼人們對ID選擇器很感興趣。 – BoltClock 2012-04-19 19:51:46

0

你應該有基本的一個基類佈局和其他類,以便對其進行其他更改,僅當您需要引用某個元素(例如,針對ajax請求或表單)時才應使用ids。使用多個類是沒有問題的,並且使更改變得更容易。 id兩次導致無效標記。

0

id用於設置特定元素的樣式,如您的示例中所示。它完美地使用您需要將樣式限制到特定元素的ID

0

ID和類都非常適合用於CSS樣式。

  • 使用ID的爲獨特的元素。換句話說,每個ID不應該使用一次以上。
  • 使用元素的分類和標籤。更多細節:Best Practices for HTML/CSS
0

http://webdesign.about.com/cs/css/qt/tipcssclassvsid.htm

使用類標籤,如果:

  1. 風格在整個文檔的各種場所。
  2. 風格很一般。

使用一個ID標籤,如果:

  1. 文檔中的樣式只能使用一次,直到永遠。
  2. 樣式特定於文檔的某個區域。

請記住,一個id只能在任何HTML文檔中出現一次。一旦 你已經使用了ID,它不應該在該頁面上再次使用。

有一個在http://css-tricks.com/the-difference-between-id-and-class/

相關問題