之前看到很多用JS写的,固定漂浮这种效果拖动时难免会产生抖动自己对CSS还是蛮有好感的,找来找去找到了天涯,仔细一看是纯CSS的,没有使用JS效果我觉得它比之前看到的要精简些不用嵌套多余的DIV 简单的看一下CSS样式部分:
- body { background-image:url(text.txt); /* for IE6 */
- background-attachment:fixed; }
- #bottomNav { background-color:#096; z-index:999; position:fixed; bottom:0; left:0; width:100%; _position:absolute; /* for IE6 */
- _top: expression(documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight); /* for IE6 */ overflow:visible; }
HTML部分加上这个id为 #bottomNav 的DIV即可:
- <div id="bottomNav">固定漂浮物在此处O(∩_∩)O~www.aspxcs.net【.Net中文社区】</div>
再看看这些需要注意的地方:
- _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写法.
完整实例,可直接复制代码测试:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title></title>
- <style type="text/css">
- body { background-image:url(text.txt); /* for IE6 */background-attachment:fixed; height:1000px; }
- #bottomNav { background-color:#096; z-index:999; position:fixed; bottom:0; left:0; width:100%; _position:absolute; /* for IE6 */
- _top: expression(documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight); /* for IE6 */ overflow:visible; }
- </style>
- </head>
- <body>
- <div id="bottomNav">固定漂浮物在此处O(∩_∩)O~www.aspxcs.net【.Net中文社区】</div>
- </body>
- </html>
固定漂浮选择这样写的理由:
纯CSS的写法,避免了多嵌套一层外部DIV制作假滚动条造成的网站重构麻烦的尴尬场面。同时不会有JS漂浮所产生的抖动效果。