6

我想问一下指定HTML列宽的更好方法是什么?宽度属性还是样式属性?假设我使用的是 IE 6。IE 渲染宽度属性是否优于样式?

按宽度属性

<table width="900">
    <tr>
        <td width="450">A</td>
        <td colspan="2" width="450">B&C</td>
    </tr>
    ....
</table>

或按样式属性

<table style="width:900px;">
    <tr>
        <td style="width: 450px;">A</td>
        <td colspan="2" style="width: 450px;">B&C</td>
    </tr>
    ....
</table>
4

2 回答 2

15

首先在我回答您的问题之前,您应该知道表格是如何呈现的,请尝试表格元素的表格布局固定样式:

如果浏览器预先知道第一个表格行列的宽度(如果您在表格上提供表格布局固定样式),则浏览器甚至可以在计算任何结果行的宽度之前开始渲染表格的顶部。这意味着什么?由具有固定布局的 Ajax 调用填充的表可以在完整的 ajax 调用完成之前开始向用户显示结果。考虑这一点的最佳方式就像是渐进式 jpg。最后,您的页面似乎加载速度更快。

table
{
table-layout:fixed;
}

现在回答你的问题。

实际上,您提供的示例都不正确。您通常不会在跨越 2 个或更多单元格的单元格上设置宽度。在任何表格中,最好用所有单元格创建至少 1 行,这可以在 TH 中,也可以在(就像我喜欢在空白 tr 中做的那样)。

例如...

<table>
<tr>
<td width="450"></td>
<td width="225"></td>
<td width="225"></td>
</tr>
<tr>
<td>content here</td>
<td colspan="2">content here</td>
</tr>
</table>

无论您决定使用样式还是仅使用标准 html 宽度,您都可以选择,但最后您应该让第一行(如果表格布局是固定的)或任何行(如果表格布局不固定)包含每个单独单元格的宽度定义。这也将帮助您规划正确的外观表,希望这会有所帮助。

通过创建一个像 10 000 行的巨大表格来测试固定的表格布局,并测试渲染速度与非固定表格布局。

我认为关于 HTML 4 与 XHTML、样式与属性的整个辩论实际上是可维护性的问题。我认为使用样式设置宽度或使用 HTML 4 过渡的普通宽度设置宽度没有任何问题,它们都做同样的事情。你可以同时做这两个的原因是因为 HTML 已经进化了一点,是的,它可能会变得混乱!祝你好运

于 2009-10-06T07:34:48.473 回答
3

只需在里面添加<div>标签<td>或在里面<th>定义宽度<div>。这将对您有所帮助。没有其他工作。

例如。

<td><div style="width: 50px" >...............</div></td>
于 2012-05-06T22:32:38.180 回答