发表时间:2014-12-19来源:网络
让position:fixed在IE6下可用 附带css写法
/*让position:fixed在IE6下可用!*/ .fixed-top/*头部固定*/{position:fixed;bottom:auto;top:0px;} .fixed-bottom/*底部固定*/{position:fixed;bottom:0px;top:auto;} .fixed-left/*左侧固定*/{position:fixed;right:auto;left:0px;} .fixed-right/*右侧固定*/{position:fixed;right:0px;left:auto;} /*上面的是除了IE6的主流浏览器通用的方法*/ *html,*htmlbody/*修正IE6振动bug*/ {background-image:url(about:blank);background-attachment:fixed;} *html.fixed-top/*IE6头部固定*/ {position:absolute;bottom:auto; top:expression(eval(document.documentElement.scrollTop));} *html.fixed-right/*IE6右侧固定*/ {position:absolute;right:auto; left:expression(eval(document.documentElement.scrollLeft +document.documentElement.clientWidth-this.offsetWidth) -(parseInt(this.currentStyle.marginLeft,10)||0) -(parseInt(this.currentStyle.marginRight,10)||0));} *html.fixed-bottom/*IE6底部固定*/ {position:absolute;bottom:auto; top:expression(eval(document.documentElement.scrollTop +document.documentElement.clientHeight-this.offsetHeight -(parseInt(this.currentStyle.marginTop,10)||0) -(parseInt(this.currentStyle.marginBottom,10)||0)));} *html.fixed-left/*IE6左侧固定*/ {position:absolute;right:auto; left:expression(eval(document.documentElement.scrollLeft));}
众所周知IE6不支持position:fixed,这个bug与IE6的双倍margin和不支持PNG透明等bug一样臭名昭著。前些天遇到了这个问题。当时就简单的无视了IE6,但是对于大项目或商业网站,如果有用到这个属性的时候,是不可能直接无视的。
如何让position:fixed在IE6中工作呢?
本文所使用的技巧是用了一条InternetExplorer的CSS表达式(expression)。你不可以直接使用该表达式,因为它可能会因为缓存而不更新。解决这一点的最简单的方式是使用eval包裹你的语句。
如何解决抖动的问题?
显然IE有一个多步的渲染进程。当你滚动或调整你的浏览器大小的时候,它将重置所有内容并重画页面,这个时候它就会重新处理css表达式。这会引起一个丑陋的“抖动”bug,在此处固定位置的元素需要调整以跟上你的(页面的)滚动,于是就会“跳动”。
解决此问题的技巧就是使用background-attachment:fixed为body或html元素添加一个background-image。这就会强制页面在重画之前先处理CSS。因为是在重画之前处理CSS,它也就会同样在重画之前首先处理你的CSS表达式。这将让你实现完美的平滑的固定位置元素!
我发现的另外一个小技巧是,你根本无需一个真实的图片!你可以使用一个about:blank替代一个spacer.gif图片,而且它工作的同样出色。
更新:添加border、padding和margin支持!
如果你不需要支持margin,可以将所有的`parseInt`部分去掉。以上只在标准模式下进行了测试。
以上内容来自 吾爱图库 在这里仅仅收藏和分享给更多有需要的朋友们`
CI框架连接数据库配置操作以及多数据库操作
C语言关键字及其解释介绍 C语言32个关键字详解
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
将视频设置为Android手机开机动画的教程
IcePHP框架中的快速后台中的通用CRUD功能框架
java中的info是什么意思
PHP中include和require区别之我见
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
美好明天官方版下载v4.6.3.4 安卓版
109.8M |学习教育
厦门市民卡办理软件 v5.2.2 安卓版
134.8M |生活服务
全民微铺app(改名微脉店铺)下载v2.2.5 安卓版
115.4M |商务办公
爱语文学生版下载v2.7.2 安卓官方版
101.7M |学习教育
导弹校园软件 v1.6.9 安卓版
47.5M |生活服务
蓝电汽车官方版(my fengon)下载v2.0
148.4M |生活服务
花伍鲜花批发app v2.3.0 安卓版
38.3M |商城购物
任旅视界app下载v3.3.1 安卓版
391.1M |生活服务
2014-09-05
2014-09-05
2022-03-22
2014-09-05
2022-03-17
2017-05-10
2022-03-17
2014-09-05
2022-03-21
2022-03-22