我的表单上有一个元素,如下所示:
<div style="overflow-y:auto;overflow-x:hidden;height:100%;width:100%">
在 IE7 页面首次呈现时,没有滚动条。但是,如果我调整页面大小(即使只有 1 个像素),滚动条也会正确显示。
有什么办法可以让滚动条在页面首次显示时正确显示吗?
我的表单上有一个元素,如下所示:
<div style="overflow-y:auto;overflow-x:hidden;height:100%;width:100%">
在 IE7 页面首次呈现时,没有滚动条。但是,如果我调整页面大小(即使只有 1 个像素),滚动条也会正确显示。
有什么办法可以让滚动条在页面首次显示时正确显示吗?
Set overflow-y to "scroll" if you always want a scrollbar.
这就是来自 IE6 和 IE7 中的 hasLayout 错误的问题。它会影响 IE 呈现页面的方式。为了摆脱这个问题,你应该考虑阅读这个关于hasLayout 行为及其 hacks的精彩页面。还有微软官方的 hasLayout 专用页面。
建议的技巧height: 0;
取决于zoom: 1;
您要定位的 IE 版本和元素的类型。
我使用了溢出:滚动,它解决了加载时滚动条消失的问题。我的表格是动态创建的,并且在页面加载时应该自动滚动,因为我有足够的数据可以开始。
我不必进行任何其他更改。现在它适用于所有三种浏览器 IE7、IE8 和 FF。
您应该将 margin-right: 20px 添加到您的样式中,因此滚动条将有足够的位置显示。
尝试Internet Explorer 9
看看您当前的脚本是否在那里工作。很可能它确实在那里工作,如果是这样,你可能会重新考虑你的内心渴望让它与以前版本的 Internet Explorer (如 7 等)兼容
随着 Chrome 和 FireFox 将观众从 IE 抢走,我预测这些问题将被淘汰只是时间问题......
尝试绝对宽度和高度,在调整大小时,IE7 可能会在您调整到页面大小时自行计算尺寸,而在页面加载时它不是...