2010-04-07 46 views
1

有什麼方法可以根據表的ID而不是特定的子ID來修改一個表格單元格的CSS屬性嗎?調整特定表格的所有單元格的CSS而不給每個單元格一個唯一的ID?

我想改變一個表的外觀(例如給每個單元格一個彩色邊框)一種方式,另一個表另一種方式,但我想避免爲每個單元格指定一個ID。

要清楚,我不需要單獨訪問表中的每個單元格 - 我只想設置各種表格的「子」單元格的所有屬性。

回答

4

如果你可以識別特定的表格,那麼沒問題。只需使用後代選擇:

#tableid1 td { border: 2px solid green; } 

這是什麼想說的是,能與tableid1的ID表的後裔所有表格單元格有綠色邊框。包括<th>細胞以及:

#tableid1 td, #tableid1 th { border: 2px solid green; } 

注:上面可以有問題,如果你嵌套其中,例如,你想要的外部表有邊框,而不是內部表的表。通常不建議使用嵌套表格,但有時候沒有其他選項。處理這類問題有多種方法。

#id1 > tbody > td { ... } 

<tbody>元素是隱含在這裏:

首先,你可以使用子選擇器代替(>)。

問題是在IE6上不支持子選擇器。

處理這個問題的另一種方法是取消出來的效果:

#id1 td { border: 2px solid green; } 
#id1 td td { border: 0 none; } 

這並不總是可行的,但它確實對IE6的工作。

相關問題