我想问一下指定
HTML列宽的更好方法是什么? width属性或style属性?假设我使用的是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>
解决方法
首先,在我回答你的问题之前,你应该知道的是表格是如何呈现的,试验表格元素的表格布局固定样式:
如果浏览器预先知道第一个表行列的宽度(如果在表上提供表格布局固定样式),则浏览器甚至可以在计算任何结果行的宽度之前开始渲染表格的顶部.这意味着什么?使用具有固定布局的Ajax调用填充的表可以在完整的ajax调用完成之前开始向用户显示结果.想到这一点的最佳方式就像是一个进步的jpg.最后,您的网页似乎加载速度更快.
table { table-layout:fixed; }
现在回答你的问题.
实际上你提供的例子都不正确.您通常不会在跨越2个或更多单元格的单元格上设置宽度.在任何一个表中,最好用所有单元格创建至少一行,这可以是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宽度的方式,选择是你的,但最后你应该有你的第一行(如果表格布局是固定的)或任何行(如果表格布局不固定)包含每个invidivual单元格的宽度定义.这也可以帮助您规划正确的表格,希望这会有所帮助.
通过创建一个巨大的10 000行表来测试固定的表格布局,并测试渲染速度与非固定表格布局.
关于HTML 4与XHTML,风格与属性的整个争论我认为实际上是一个可维护性的问题.我不认为使用Style或普通宽度设置宽度与HTML 4过渡有什么不对,它们都做同样的事情.你可以做到这两点的原因是因为HTML已经发展了一点,是的,它可能会变得混乱!祝好运