zoukankan      html  css  js  c++  java
  • 转载:IE6,IE7下设置body{overflow:hidden;}失效Bug

    本文转载自:http://www.cnblogs.com/tom-zhu/archive/2012/07/15/2592379.html

    此项其实并不是Bug,只是各浏览器默认付值不同造成的,其他明智的浏览器还好,这个bug只出现在IE6 IE7下

     

    问题重现:

    <p>There are no scrollbars on this page in sane browsers</p>
    html, body, p {
        margin: 0;
        padding: 0;
    }
    
    body {
        overflow: hidden;
    }
    
    p {
         5000px;
        height: 5000px;
    }
    

      IE6 IE7下不生效(IE6下横向纵向滚动条都在 IE7下纵向滚动条还在)

    原因:

    明智的浏览器(ex. chrome and firefox)会初始付值给html{overflow:visible;}

    IE6 初始付值html{overflow-x:auto;overflow-y:scroll;}

    IE7 初始付值html{overflow-x:visible;overflow-y:scroll;}

    只有dom根结点(也就是html根节点)设置html{overflow:visible;}的时候,浏览器才会将body元素中的overflow值应用到视图区。

    举个例子说:

    设置了body{overflow:hidden},还会出现滚动条,不过这个滚动条不是body的,是html的
    只有你设置html{overflow:visible;} body{overflow的值}才能传递到html{}中去
    这样html的值就变成了{overflow:hidden},ok没有滚动条了

    这样就很明了啦,并不是bug,而是浏览器初始值不同产生的问题。

    解决办法:

    html, body, p {
        margin: 0;
        padding: 0;
    }
    
    html {
        overflow: visible;
    }
    
    body {
        overflow: hidden;
    }
    
    p {
         5000px;
        height: 5000px;
    }
    

      

     

  • 相关阅读:
    随机数测试
    往xml中更新节点
    Spring学习之代理
    SpringMVC基本配置
    Hibernate映射一对一关联关系
    成员变量的定义与使用
    面向对象三大特性
    请用心“品尝”网络电视精灵
    汽车租赁系统
    JSP 甜点
  • 原文地址:https://www.cnblogs.com/zjfazc/p/2676426.html
Copyright © 2011-2022 走看看