iframe在IE6下出现横向滚动条的解决方案
2013-05-14 11:00
399 查看
最近的项目中,遇到ie6下当iframe出现纵向滚动条时同时会出现横向滚动条。
分析了代码,大致的原因是iframe中的页面有相对body的样式包含width:100%的元素。
情况如下:
当出现纵向滚动条时,相对应的也出现了横向 滚动条。
解决方案一:给内页加上样式:html
{ overflow-y: scroll; }
注意:使用解决方案1带来的瑕疵是,当纵向内容部分高度没有超过屏幕时,仍然会出现不可用的纵向滚动条。
解决方案二:给内页加上样式: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中的页面有相对body的样式包含width:100%的元素。
情况如下:
当出现纵向滚动条时,相对应的也出现了横向 滚动条。
解决方案一:给内页加上样式:html
{ overflow-y: scroll; }
注意:使用解决方案1带来的瑕疵是,当纵向内容部分高度没有超过屏幕时,仍然会出现不可用的纵向滚动条。
解决方案二:给内页加上样式: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的高度时效果正确。
相关文章推荐
- IE6中iframe出现横向滚动条的解决方案
- iframe在IE6下出现横向滚动条的解决方案
- 【IE6】iframe在IE6下出现横向滚动条的解决方案
- iframe在IE6下出现横向滚动条的解决方案
- frameset, iframe, frame框架页面在IE6中出现横向滚动条bug的隐藏方法
- frameset, iframe, frame框架页面出现横向滚动条bug的隐藏方法
- ie6框架下,出现横向滚动条bug
- frameset, iframe, frame框架页面出现横向滚动条bug的隐藏方法私人日志
- 框架页中针对IE6自适应宽度,不出现横向滚动条
- frameset, iframe, frame框架页面出现横向滚动条bug的隐藏方法
- ie6下iframe出现水平滚动条的解决办法
- ie6框架下,出现横向滚动条bug
- 使用框架framset在IE6出现横向滚动条的解决方法
- ie6下iframe出现水平滚动条的解决办法
- webapp移动端出现横向滚动条解决方案
- Frame和Iframe横向滚动条的解决方案
- frameset, iframe, frame框架页面出现横向滚动条bug的隐藏方法
- iframe里的页面在ie6里出现滚动条的解决办法
- iframe出现双层滚动条解决方案
- IE6.O下使用iframe出现横向滚动条问题