2010-07-09 65 views
2

因爲客戶要求的話,我已經改變了一個div來溢出:汽車在IE7餘地滾動調整

position: absolute; 
top: 5px; 
bottom: 5px; 
overflow: auto; 
min-width: 945px; 

這在所有支持的瀏覽器基本工作正常時(IE7,IE8,Firefox 3的+):它使div可以垂直填充可用區域,如果不適合,則顯示垂直滾動條。請注意,如果沒有945px的最小寬度,滾動條會覆蓋部分內容,因爲在所有Internet Explorer版本中添加滾動條時,內容不能正確調整大小。最小寬度恰好適合,其他瀏覽器不關心。但是,在IE7上,如果顯示一個垂直滾動條,然後垂直擴展瀏覽器窗口以便不再需要滾動條,則IE7刪除該滾動條,但留下一個空白矩形,其中滾動條爲,即div內容沒有擴展到前滾動條區域。當在同一窗口中重新加載頁面時,沒問題。 IE8在標準模式下不顯示此問題。

我該如何解決這個問題?

+0

@誰認爲這是重複的 - 原始問題在哪裏? – OregonGhost 2010-07-21 08:29:17

回答

1

這聽起來像是在ie7或ie7中有一個錯誤。至於你的代碼,它的罰款,雖然有點奇怪,你想div水平滾動?

0

這仍然是一個觀察到的問題,在IE7和以下(當然,IE8兼容性視圖和相關模式)。

經過研究,我認爲這是一個疏忽。在IE7及以下版本中,overflow:auto總是顯示滾動條,如果不需要,則禁用它們(對於「通常」具有滾動條的元素)。看起來,這種行爲導致溢出:auto元素在滾動條消失後不重新計算它們的寬度(因爲它們從未打算消失)。