您好我只想选择表格中每一行的第一个<td>
(td
以及文字“标签”),如果你有一个简单的html像:
<table>
<tr><td>label</td> <td>value</td></tr>
<tr><td>label</td> <td>value</td></tr>
<tr><td>label</td> <td>value</td></tr>
</table>
我想将例如10%的宽度仅分配给第一个<td></td>
组,而选择器我不想使用类。
我尝试了以下选择器:
table.widget tr:first-child td{
width:10%;
border:0;
}
但该选择器只会选择第一个td
的第一个tr
而不是TD's
,所以我尝试了
table.widget tr td:first-child{
max-width:10%;
}
当然,我得到的是TD
的第一个孩子的选择。不是td
本身
有可能实现这个目标吗?
答案 0 :(得分:3)
答案 1 :(得分:3)
你的第二个选择器实际上是正确的:
table.widget tr td:first-child {
background: orange;
}
要选择每个td的第一个子节点,选择器将如此:
table.widget tr td :first-child { /* note the space after the td */
// styles
}
然而,应该注意的是,OP的样本表没有应用widget
类。
如果您的表格表示一组键/值对,那么将标签文本放在th
中可能更合适:
table.widget th {
background: orange;
}
<table class="widget">
<tr><th>label</th> <td>value</td></tr>
<tr><th>label</th> <td>value</td></tr>
<tr><th>label</th> <td>value</td></tr>
</table>
答案 2 :(得分:0)