我在另一个内部有一个<table>
,我需要将颜色设置为仅为<td>
的第一级的红色。
.myTable tr td {
color: red;
}
<table class="myTable">
<tr>
<td>Red, please</td>
</tr>
<tr>
<td>
<table>
<tr>
<td>No red, thanks</td>
</tr>
</table>
</td>
</tr>
</table>
.myTable > tr > td {
color: red;
}
然而,没有什么变成红色。
我做错了什么? 由于我不能包含jQuery或任何其他外部库,我需要 CSS 中的解决方案。
提前致谢。
答案 0 :(得分:2)
.myTable > tbody > tr > td {
color: red;
}
td > table {
color: initial;
}
<table class="myTable">
<tr>
<td>Red, please</td>
</tr>
<tr>
<td><table><tr><td>No red, thanks</td></tr></table></td>
</tr>
</table>
即使您没有在HTML中包含tbody
元素,它也会在DOM中自动创建,因此您需要将其包含在选择器中。
您需要额外的td > table
选择器才能关闭内部表格中的颜色。否则,它将继承其内部的td
颜色。
答案 1 :(得分:0)
tr:nth-child(1){background:red;}
答案 2 :(得分:0)
.myTable {
color: red;
}
.myTable table {
color: initial;
}
更短并且更好地使用级联,就像使用CSS一样; - )