2009-09-16 73 views
0

我有一個div內有三列,即整個頁面的寬度。兩邊的兩邊寬度爲25%,中間的寬度爲50%。這種佈局工作正常,除了IE6,其中在某些頁面寬度它將右列顛簸到下一行。有沒有解決這個問題?也許另一種方式來佈局這樣的網頁?內嵌塊列加起來寬度達到100%

編輯:我正在使用跨瀏覽器內嵌塊黑客,它在FF,IE,S,Chrome中非常出色。我很確定這個怪癖與IE計算流體內容寬度的方式有關,並且由於錯誤計算(舍入可能?)而發生。我舉了一個例子here。嘗試在IE6中慢慢調整窗口寬度(也許更高版本),並觀察綠色DIV在某些寬度下跌落。

感謝,
布倫丹

回答

1

這是IE6盒子模型中的舍入問題。一般來說,你不能有一個組合等於100%。試着讓你的數值總和達到總寬度的99%,它應該可以正常工作。這個解決方案一直爲我工作。

+0

將中心列設置爲49.9%。我想它必須這樣做。謝謝 – bloudermilk 2009-09-16 17:30:20

+1

這不僅僅是一個IE6問題:1px四捨五入問題已經影響了每個瀏覽器,並且只有在Firefox 3和IE 8中,問題似乎已經解決。有關更多信息,請參閱http://positioniseverything.net/round-error.html,並且好奇可能要查看Mozilla錯誤報告;花了七年時間(從2000年到2007年)來解決這個問題:https://bugzilla.mozilla.org/show_bug.cgi?id = 63336 – NickFitz 2009-09-17 09:54:46

0

這聽起來像是在該列一塊內容可能有一個定義的寬度比什麼頁面的25%的寬度它被賦予更多。你能提供CSS例子嗎?

編輯:IE6不支持內聯塊,這也可能是問題。

編輯2:我在虛擬機的IE6的1680x1050屏幕上查看它。當我將寬度從大約800px緩慢拖到1600px時,它會隨機移動右列。我懷疑這是你試圖使用的黑客問題。你的代碼非常簡單,我認爲你應該考慮研究替代黑客。我從未見過*<property>: <value>黑客。 *做什麼,所有兼容的瀏覽器?

+0

馬克,我已經用浮動屬性替換了內聯塊黑客並且問題依然存在。 – bloudermilk 2009-09-16 17:07:48