【发布时间】:2010-09-29 19:20:53
【问题描述】:
在一个项目中,我需要渲染具有特定宽度列的表格,每个表格行只有一个 HTML 行(不换行)。我需要每个表格单元在顶部和底部有 1 个像素的填充,在左右有 2 个像素的填充。我能想出的最佳方法跨浏览器是以这种方式将 div 放在表格内的 td 中:
<style>
table.grid { border: none; border-collapse: collapse; }
table.grid tbody tr td { padding: 1px 2px; }
table.grid tbody tr td div { overflow: hidden; white-space: nowrap; }
table.grid tbody tr td.one { width: 100px; }
table.grid tbody tr td.two { width: 200px; }
</style>
<table class="grid">
<tbody>
<tr>
<td class="one"><div>One</div></td>
<td class="two"><div>Two</div></td>
</tr>
<tr>
<td class="one"><div>Another One</div></td>
<td class="two"><div>Another Two</div></td>
</tr>
</tbody>
</table>
我希望能够消除添加额外 div 的需要。我花了很多时间在谷歌上搜索这个问题,但找不到替代方案。
有没有办法在不需要添加额外的 div 的情况下做我需要的事情?如果有,那是什么?
有没有办法在不使用表格的情况下获得所需的结果?
【问题讨论】:
-
您应该将“grid”类添加到示例 HTML 中的表格中,以使其与示例 CSS 匹配
-
为什么需要 div? td 毕竟是块元素。
-
Gareth,谢谢,为表格类添加了网格。 cletus,我试过溢出:隐藏;空白:nowrap;到 td 并且它不起作用。
标签: html css cross-browser css-tables