And*_*rew 1 html css google-chrome html-table
如果在 Chrome 中使用此代码,则会得到一个带有数字 4 的 td,表示 td 的宽度比 tr 小 4 个像素。如果您在 Firefox 中执行此操作,您会得到 0。如果您将“display:block”添加到两个 css 定义中,它会更改为 0。我的问题是,Chrome 究竟是从哪里获得 4 个额外像素的?
HTML:
<table>
<tbody>
<tr>
<td>Hey</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
JS(使用 jQuery):
jQuery(document).ready(
function () {
var td = $("td");
var tr = $("tr");
td.text(tr.width() - td.width());
});
Run Code Online (Sandbox Code Playgroud)
CSS:
tr{
background-color:red;
}
td {
padding:0px;
}
Run Code Online (Sandbox Code Playgroud)
使用 Chrome 的检查器,您会发现应用了这种样式:
table {
display: table;
border-collapse: separate;
border-spacing: 2px;
}
Run Code Online (Sandbox Code Playgroud)
边框间距 2(乘以 2 边)= 神秘的 4 像素。
因此,要克服这个问题,请将其添加到您的样式表中:
table {border-collapse: collapse;}
Run Code Online (Sandbox Code Playgroud)
现在 Firefox 和 Chrome 都对tr.width().