zoukankan      html  css  js  c++  java
  • iframe在IE6下出现横向滚动条的解决方案

    http://www.cnblogs.com/tglgx/archive/2009/06/28/1532223.html

    最近的项目中,遇到ie6下当iframe出现纵向滚动条时同时会出现横向滚动条。分析了代码,大致的原因是iframe中的页面有相对body的样式包含100%的元素。情况如下:(PS:红框表示iframe的区域,灰色的长方框表示上面提到的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的高度时效果正确。

    学会开心每一天(:

     

  • 相关阅读:
    HDU 4819 Mosaic --二维线段树(树套树)
    Codeforces Round #274 Div.1 C Riding in a Lift --DP
    ZOJ 3829 Known Notation --贪心+找规律
    JAVA成员变量和静态变量的区别
    spring注解
    js中double类型的数据加减的时候出错
    js在页面间传值的方法记录
    将表中数据转换成java entity实例
    最近都写APP的接口,有苦说不出啊.
    写于2018年第一场雪----记我的第一年工作
  • 原文地址:https://www.cnblogs.com/blsong/p/1641236.html
Copyright © 2011-2022 走看看