<div> overflow:auto在调整大小</div>之前不显示滚动条

时间:2009-08-13 17:19:56

标签: html internet-explorer-7 overflow

我的表单上有一个如下所示的元素:

<div style="overflow-y:auto;overflow-x:hidden;height:100%;width:100%">

在IE7首页渲染时,没有滚动条。但是,如果我调整页面大小(即使只有1个像素),滚动条也会正常显示。

我能做些什么,以便在首页显示时滚动条显示正确吗?

6 个答案:

答案 0 :(得分:11)

如果您想要滚动条,请将overflow-y设置为“滚动”。

答案 1 :(得分:6)

这是来自IE6和IE7中的hasLayout错误的问题。它会影响IE呈现页面的方式。要摆脱这个问题,你应该考虑阅读这个关于hasLayout behavior and its hacks的精彩页面。还有官方Microsoft hasLayout dedicated page

建议的黑客是height: 0;zoom: 1;,具体取决于您要定位的IE版本以及元素的类型。

答案 2 :(得分:2)

你应该在你的风格上添加margin-right:20px,这样滚动条就会显示出来。

答案 3 :(得分:2)

我使用了溢出:滚动它解决了加载时消失滚动条的问题。我的表是动态创建的,并且应该在页面加载时自动滚动,因为我有足够的数据开始。

我没有做任何其他更改。现在它适用于所有三种浏览器IE7,IE8和FF。

答案 4 :(得分:1)

尝试Internet Explorer 9并查看您当前的脚本是否在那里工作。很可能它确实在那里工作,如果是这样,你可能会重新考虑你的内心愿望使它与以前版本的Internet Explorers 7等完全兼容

随着Chrome和FireFox迅速将IE中的受众群体偷走,我预测这些问题在过时之前只是时间问题......

答案 5 :(得分:1)

尝试绝对宽度和高度,在调整大小时IE7可能会在您调整页面大小时计算尺寸,而在页面加载时它不是......