2010-04-07 48 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的工作。

相关问题