【发布时间】:2016-01-19 02:12:45
【问题描述】:
我有一个使用行跨度的 HTML 表格:
table tr,
td {
border: 1px solid black;
}
tr:nth-child(1) {
background-color: red;
}
tr:nth-child(2) {
background-color: blue;
}
<table>
<tr>
<td rowspan=2>Section 1</td>
<td>Data 1a</td>
</tr>
<tr>
<td>Data 1b</td>
</tr>
<tr>
<td rowspan=3>Section 2</td>
<td>Data 2a</td>
</tr>
<tr>
<td>Data 2b</td>
</tr>
<tr>
<td>Data 2C</td>
</tr>
我想使用一些简单的 CSS(例如 nth-child)来将 CSS(例如我的示例中的背景颜色)添加到由多行组成的特定“部分”。行数由rowspan设置。
我的示例 CSS 为第 n 个表格行着色,而我想为整个行跨度的行着色。
更具体地说,在显示的示例中,我想要一种方法
- 第 1 节,数据 1a 和数据 1b 为红色
- 第 2 节,数据 2a、数据 2b 和数据 2c 为蓝色
有什么简单的 HTML/CSS 方法可以做到这一点吗?如果可能,我正在寻找非 JavaScript 解决方案。
【问题讨论】:
-
css 属性选择器是否有效?即
td[rowspan]或td[rowspan=3]? -
@zgood——那不是只选择 tds,而不是 trs?也许将包含行跨度的行放入表格部分?
-
@robg 喜欢在一组行周围使用吗?还是会弄乱桌子(或只是不起作用)?@robg - 啊,你的意思是使用多个 ,就像第二个答案:stackoverflow.com/questions/9318978/…我不知道我是否完全理解您的要求。例如,您是说即使第 1 节和 1a 是同一行,您也只想为 1a 和 1b 着色?我首先要说的是,您应该将第 1 节和第 2 节作为
标签,而不是普通的 标签。这样你就可以不用每一个 来定位他们,如果是这样的话。
标签: javascript html css