【发布时间】:2021-07-23 21:12:09
【问题描述】:
我有以下代码,但无法弄清楚为什么它不起作用:
table {
border: 1px solid black;
}
table.whole > tr > td {
padding: 20px 0 20px 0;
}
<!-- doesn't work via css rule -->
<table class="whole">
<tr>
<td>
<table>
<tr>
<td>abcd</td>
</tr>
</table>
</td>
</tr>
</table>
<hr>
<!-- works inline -->
<table>
<tr>
<td style="padding:20px 0 20px 0">
<table>
<tr>
<td>abcd</td>
</tr>
</table>
</td>
</tr>
</table>
我可能误解了子选择器> 的工作原理,还是这里有某种限制,或者是一个错误?...
【问题讨论】:
-
你有浏览器添加的tbody元素
table.whole > tbody > tr > td -
是的,我看到了,但我没有怀疑该规则会在 之后应用!确实,通过添加
> tbody就可以了,谢谢(我也会在 html 中添加<tbody>) -
尽量不要使用
>选择器。每当HTML发生变化时,您的样式就会中断..这不应该。更好的是在 td 元素中添加一个 css 类。 -
@SudiptoRoy 好的,这是模板中的包装器,用于在 Outlook 客户端中读取的内部电子邮件......否则我什至不会使用表格!碰到这个问题,我确实想到了使用一个类,但也想了解我遇到的问题......但是是的,你肯定是对的,它更冒险!