zoukankan      html  css  js  c++  java
  • IE6解决无法实现position:fixed浮动层固定在滚动页面(无抖动)

    主要是解决ie6.0的问题,2种方法: 1.只要改动#bottomNav的属性就可以了,注意这里的 text.txt 其实不需要有这个txt文档,txt的文件名叫什么看自己喜好喽,如此一来我们就解决了IE6下的缓动问题。

    主要是解决ie6.0的问题,

    我觉得它比之前看到的要精简些不用嵌套多余的DIV

    简单的看一下CSS样式部分:

    body {  

        background-image:url(text.txt); /*for IE6,也可以用一张图片URL,是否存在这文件无所谓*/  

        background-attachment:fixed;   /* 这句是关键之一:一定要fixed,不能用scroll */

    }  

    #bottomNav {  

    background-color:#096;  

    z-index:999;  

    position:fixed;  

    bottom:0;  

    left:0;  

    100%;  

    _position:absolute;

    /* _下划线是IE6才能识别的 ,for IE6 */  

    _top: expression(documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight);

    /* for IE6 ,执行JS语句,documentElement即html对象,clientHeight即可视窗口高度,  offsetHeight即浮动层高度(包括border边框厚度),scrollTop即滚动条滚动过的页面高度  */  

    overflow:visible;  

    }  
    HTML部分加上这个id为 #bottomNav 的DIV即可:

    固定漂浮物在此处O(∩_∩)O~


    再看看这些需要注意的地方:

    _top: expression(documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight);

    看到 _top 大家都知道是为IE6独家准备的,但是当我只加了上面这句时,IE6下拉动滚动条看到的这个漂浮物是抖动的-_-   
    解决方法我们为IE6添加这样一条语句:

    background-image:url(text.txt);

    注意这里的 text.txt 其实不需要有这个txt文档,txt的文件名叫什么看自己喜好喽,如此一来我们就解决了IE6下的缓动问题。

    PS:你可能会对 text.txt 和 expression 感到郁闷,也有人使用多嵌套一层 DIV 做了个假滚动条实现了这个方法,当然这种方法在也会相应的改动下默认属性,可这种写法和之前网站融合起来很郁闷,要添加一个DIV(因为我之前没有在最外 层写DIV.wrap)。
    相比之下我更喜欢天涯这样的纯CSS写法

    固定漂浮选择这样写的理由:

    纯CSS的写法,避免了多嵌套一层外部DIV制作假滚动条造成的网站重构麻烦的尴尬场面。
    同时不会有JS漂浮所产生的抖动效果。

    可能更好的我没有发现,如果你有更多更好的方法别忘了告诉我哈~

    Ie,FF下完美实现,无抖动..

  • 相关阅读:
    面试官:HashMap死循环形成的原因是什么?
    这几个IDEA高级调试技巧,用完就是香
    图示JVM工作原理
    写二进制,姿势一定要骚,省字段,省带宽,提效率...
    阿里大佬总结的40个多线程面试题,你能答上来几个?
    全网最全RabbitMQ总结,别再说你不会RabbitMQ
    .NETCore微服务探寻(三)
    .NETCore微服务探寻(二)
    .NETCore微服务探寻(一)
    谈谈spring-boot-starter-data-redis序列化
  • 原文地址:https://www.cnblogs.com/jessiecaisme/p/2665041.html
Copyright © 2011-2022 走看看