仅更改一个表的td填充,而不是其他表的效果样式?

时间:2016-04-10 00:39:00

标签: html css html-table

我有几张桌子,想要以不同方式填充它们。我尝试过以下方法:

table#mapTable > tr > td{
  padding-left: 4px;
  padding-bottom: 20px !important;
}

用于ID为'mapTable'的表,但它没有工作(没有任何反应)。尝试'margin-bottom'而不是'padding-bottom'时,结果相同。

是否可以仅更改一个表的<td>填充?我有一个自定义的<td>风格,我不想为所有其他表格弄乱。

为了完整起见,请参见表格:

<table id='mapTable'>
      <tr><td>stuff</td><td>stuff</td></tr>
      <tr><td>info</td><td>info</td></tr>
</table>

谢谢!

2 个答案:

答案 0 :(得分:2)

无需选择table#mapTable tr td

就足够了
#mapTable td { 
  padding-left: 4px;
  padding-bottom: 20px !important;
}

(= id“mapTable”中的所有<td>个元素)

答案 1 :(得分:2)

你已经得到了答案,还有一些解释:

table > tr将永远不会匹配表格行 - 因为表格行永远不会是 table的子项。

他们是tbodytheadtfoot元素的子级。 HTML代码中没有此类元素的事实与此无关 - 在这种情况下,浏览器在创建DOM时会隐式创建tbody元素 - 他们拥有 to,因为规范是这样说的。

您可以使用浏览器的DOM检查器轻松验证。即使您上面的最小桌面示例,您也会看到有tbody