2011-02-01 111 views
1

我有一個div彈出到屏幕中間並填充一些任意內容。如果添加的內容不適合可用空間,我需要它滾動。CSS - 避免在IE中水平滾動

基本造型剩下:25%;寬度:50%;最大高度:70%

如果屏幕足夠大,它一切正常。在Firefox中,如果沒有足夠的空間,它也可以很好地工作,在分區中添加一個垂直滾動條。但在IE中,它增加了一個惱人的和不需要的水平滾動條,我無法想出擺脫它的方法。

你可以看到我的意思在這裏一些截圖: http://dl.dropbox.com/u/15633144/popup.html

對不起,我不能發佈的實際HTML,它肯定不會讓這變得更容易!但我希望這是一個人們以前曾經解決的標準問題。

在這裏發佈的通常解決方案是overflow-x/overflow-y。但在某些情況下,div內容確實需要水平滾動,所以我不能使用這種技術。

+1

如果你不允許訪問你的服務器,你可以在jsfiddle.net創建一個例子:) – Kyle 2011-02-01 11:35:11

回答

1

第一個IE不支持max-height CSS屬性。

如果容器內的某些元素的寬度溢出,則會顯示水平滾動條。你可能有一些寬度爲100%的元素。當IE在這裏和那裏添加隨機邊界/邊界時,內部元素的寬度變得比其容器大。

+0

是的,它似乎是一個寬度100%的元素是問題。我以爲我在問這個問題之前刪除了這個,但我剛剛發現有另一個代碼路徑,它的寬度爲100%。 – asc99c 2011-02-01 12:04:58

0

恐怕是因爲你說,有時你需要滾動,那麼你就需要水平滾動條。如果你通過overflow-x隱藏了它們:hidden;不會讓你滾動。你可以使用jQuery If語句,並且說如果window.width超過了你的內容的寬度,顯示滾動條,如果沒有,就隱藏它!