2009-07-13 49 views
1

我有div的看起來有點像這樣的一箇中繼器:CSS div style - 我應該使用class還是id?

<div class="header_div"> 
    <!-- Content --> 
</div> 

我想有根據的div內容的動態屬性的div變化的背景顏色(讓稱它爲類別),但我仍然希望「header_div」風格在我沒有該類別的css類的情況下進行拼寫。什麼是做這件事的最好方法?

我能想到的最好的方法是將分類作爲div的「id」,並根據id應用樣式,但這樣做讓我覺得很雜亂 - 標準規定id應該唯一標識元素在頁面上,肯定會重複每個類別。

回答

6

簡單的答案是使用多個類的<DIV>使

<div class="header_div header_red"> 
    <!-- Content --> 
</div> 

<div class="header_div header_green"> 
    <!-- Content --> 
</div> 
+0

謝謝,單個元素的多個類是我錯過的難題的一部分:-) – Justin 2009-07-13 16:17:24

0

不知道更多關於你的內容,你不能使用其中一個標題標籤(<h1>等)?

你是對的,ID應該是唯一的,如果你想多次使用相同的樣式然後使用一個類。

1

如果它將在頁面上重複使用,它應該是一個類。

如果它在頁面上是唯一的,請使用ID。

0

你不能有重複的ID,所以如果你有多個相同類別的div你會有問題。當樣式需要應用於單個頁面上的一個或多個項目時,應該使用類。

爲什麼不根據類別爲div的數據綁定分配類?當你的中繼器正在被綁定時,爲你正在綁定的項目找到你的div並分配它。

您也可以將div替換爲asp:Panel並使用它的onDataBinding方法。它應該看起來完全像你的div。

2

您即將需要的ID是唯一正確的。 沒有什麼能阻止你爲每個類屬性指定多個值 - 只需用空格分隔它們即可。

<div class="header_div category"> 
    <!-- Content --> 
</div> 

只是要注意檢查時,這兩個類,對同一款式指定不同的值會發生什麼 - 我不能說是否第一或第二將優先考慮。

2

你可以爲div類提供多種風格:

<div class="header_div mystyle"> 
    <!-- Content --> 
</div> 

我相信在後面的聲明中聲明樣式覆蓋前面的。只要您確保自定義樣式「隱藏」header-div的樣式,就可以隨時包含header-div元素,並且只有在任何第二樣式不存在(或空白)時纔會有效。

相關問題