2011-02-01 85 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超过了你的内容的宽度,显示滚动条,如果没有,就隐藏它!