2010-04-12 33 views
0

我很難與表和列的寬度。Table Disobeys W3C Box Model,Ie8忽略固定表格寬度!

更新:我使用XHTML嚴格1.0。

的頁面是:http://www.pro-turk.net/try

的第一個問題我已經是,我有一個100像素的和4PX填充固定寬度的列,但它取決於值不服從我的填充。即使填充爲0或4,列寬(根據W3C Box Model的兩個邊框之間的距離)也是156 px。只有文本的位置發生更改。

根據W3C Box Model(可從www.pro-turk.net/box_model.png獲得),WIDTH屬性中不包含邊界和填充,那麼爲什麼它會呈現錯誤?

第二個問題是,當你看到我給IE8的頁面時,第二行的第一個單元格有150px的固定寬度,但是無論我說什麼,它都會顯示它大約佔整個表格寬度的50%。

回答

1

您正在使用默認的auto table-layout mode。這可以讓瀏覽器相當隨意地決定爲每列分配多少空間,通常取決於單元格中實際內容的數量。在這種模式下,width只是諮詢。

如果您希望瀏覽器認真考慮你列的寬度,你應該在<table>元素上設置table-layout: fixed,並且無論是包括<col/>元素有明確的寬度,或設置寬度上的第一行中的細胞,你想要的列是固定寬度。 (其他列將平均分享保持寬度。)fixed表格佈局還允許瀏覽器渲染速度更快。

對於你的頁面,你可能會更好的CSS定位。當然,內部表似乎只存在浮動 - 留下的圖像。應避免嵌套表格。