最近的项目中,遇到ie6下当iframe出现纵向滚动条时同时会出现横向滚动条。分析了代码,大致的原因是iframe中的页面有相对body的样式包含width:100%的元素。情况如下:(PS:红框表示iframe的区域,灰色的长方框表示上面提到的width:100%的元素,需要在IE6下看效果。)
当灰色的框的高度大于iframe的高度时出现纵横向滚动条(IE6下)。
当灰色的框的高度小于iframe的高度时效果正常。
解决方案一:给内页加上样式:html { overflow-y: scroll; }
当灰色的框的高度大于iframe的高度时仅出现纵向滚动条,效果正确。
当灰色的框的高度小于iframe的高度时纵向滚动条仍然显示(不可用状态),有瑕疵。
解决方案二:给内页加上样式:html { overflow-x: hidden; overflow-y: auto; }
当灰色的框的高度大于iframe的高度时仅出现纵向滚动条,但右边内容显示不完全(PS:里面文字内容是“这是个高为200px的div”),效果不正确。
当灰色的框的高度小于iframe的高度时没有滚动条出现,效果正确。
解决方案三:经过了多次尝试仍然没有发现纯css的完美解决方案,而我们追求的是最完美的效果。既然纯css解决不 了,我们只好搬出js来了,通过前面的测试我们发现灰色框高度小于iframe的高度时不需要做任何处理效果正确,而灰色框高度大于iframe的高度时 方案一是完美的。于是,我们的js有如下思路:当浏览器为IE6且内容高度比iframe高时给html标签加入方案一的样式。下面是jQuery的代 码:(不用jQuery的话思路一样。)
$(function(){ if($.browser.msie&&$.browser.version=="6.0"&&$("html")[0].scrollHeight>$("html").height()) $("html").css("overflowY","scroll");});
当灰色的框的高度大于iframe的高度时仅出现纵向滚动条,效果正确。
当灰色的框的高度小于iframe的高度时效果正确。
分享到:
相关推荐
外部滚动条控制iframe外部滚动条控制iframe
主要介绍了JS去除iframe滚动条的方法,涉及javascript操作iframe中属性的技巧,非常具有实用价值,需要的朋友可以参考下
iframe的滚动条问题:显示隐藏滚动条.doc
在iframe中隐藏横向滚动条的方法大全
js脚本: 自动调节iframe高度,而不显示其滚动条
完全搞定iframe(框架)里的滚动条!.doc
iframe水平滚动条定位右侧及其样式的基本设置
在开发中经常遇到去掉全部的滚动条,去掉右边的滚动条且保留底下的滚动条,去掉底下的滚动条且保留右边的滚动条,大家基于js是怎么实现的呢?下面通过本文给大家介绍下JavaScript中关于iframe滚动条的去除和保留的...
iframe内部html的滚动条不出现。并且活生生的从500px处截断,(类似overflow:hidden的效果)下面的内容不再显示。 问题重现: 结构: index.html : <style> #iframe{height:500px;} </style> ...
如何让DIV固定在页面的某个位置而不随着滚动条随意滚动
通过HTTPClient界面在JSP中嵌入iframe子界面跨域时,无法获取跨域界面的属性值的问题
滚东条样式设置 不兼容火狐 可修改浏览器默认的滚动条 属用内核修改
问题:iframe 上下滚动条如何默认在下方,做的是聊天工具,数据多了,每次刷新出现的上下滚动默认在上方,还需下拉到下面才能看到聊天记录,有办法让它出现在下方吗? 答案:直接在iframe里写window.scrollTo(0,...
如下所示: function newcont(url) { var index = layer.open({ ...以上这篇layer弹出层 iframe层去掉滚动条的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
Jquery 操作页面中iframe自动跟随窗口大小变化,而不出现滚动条,只在iframe内部出滚动条
通过对29行的注释和非注释,查看页面是否还有滚动条
jbox停止更新后,高版本浏览器下有一些问题,调整了在新版本浏览器下,调用 iframe页面出现滚动条,以及弹出层下方未对齐等问题。不过,技术有限,改的不是很正规。只是用来应急,旧系统已经使用的情况下,可以试试...
根据项目中的实际情况,总结的Flex嵌入IFrame解决方案