表Disobys W3C Box型号,Ie8忽略固定表宽度!

时间:2010-04-12 09:46:44

标签: internet-explorer-8 model w3c

我很难处理表格​​和列宽。

更新:我正在使用XHTML Strict 1.0。

页面为:http://www.pro-turk.net/try

我遇到的第一个问题是,我有一个固定宽度为100px和4px填充的列,但它根据值取消了我的填充。即使填充为0或4,列宽(根据W3C Box模型的两个边框之间的距离)也是156 px。只有文本的位置发生变化。

根据W3C Box模型(可从www.pro-turk.net/box_model.png获得),边框和填充不包含在WIDTH属性中,为什么它会错误地渲染?

第二个问题是,当你看到我用IE8给出的页面时,第二行中的第一个单元格具有150px的固定宽度,但是无论我说什么,它都显示它占整个表格宽度的大约50%。

1 个答案:

答案 0 :(得分:1)

您使用的是默认auto table-layout mode。这让浏览器可以相当随意地决定为每列分配多少空间,通常取决于单元格中实际内容的数量。在这种模式下,width只不过是建议。

如果您希望浏览器认真对待您的列宽,则应在table-layout: fixed元素上设置<table>,并在其中包含具有显式宽度的<col/>元素,或在单元格上设置宽度在第一行中,对于要固定宽度的列。 (其他列将平均分享剩余宽度。)fixed表格布局还允许浏览器更快地渲染。

对于您的页面,您可能会更好地使用CSS定位。当然,内部表似乎只存在浮动图像。应避免使用嵌套表。