让IE6支持fixed的捷径

开发 前端
让IE6支持fixed还是非常实用的,于是仔细研究了一下,并根据实际问题向大家描述一下让IE6支持fixed的简单方法,希望对你的学习有所帮助。

本文和大家重点讨论一下让IE6支持fixed的简单方法,在主题制作或者修改中一些元素要设置为随页面滚动的效果,通常的做法是加上fixed属性,或者干脆用js实现这个功能。

让IE6支持fixed的简单方法

最近发现一个小问题:在主题制作或者修改中一些元素要设置为随页面滚动的效果,通常的做法是加上fixed属性,或者干脆用js实现这个功能。

不过对于懒得去后台更新js文件的同学来说,这不是个好办法,或者对于还未引入js的同学,这更不是好办法。但是不用的话在IE6下会无效,这个经典到目前访问量的半数以上的浏览器版本是直接无视fixed的(当然还有其他若干问题,所以希望更新或扔掉该浏览器)。

关于这个问题的解决办法,我之前的做法一直是用_position:absolute来暂时修订,当然这么做产生的效果和想象中的差距很大。最近发现一个方法来修正IE6的fixed效果,如下: 

  1. _top:expression(documentElement.scrollTop+数值+"px") 
  2.  

也是一个简单的hack,对于不想引入JS又迫切希望使用fixed属性的人来说,确实是个好办法。

More:

Q:有时候好像使用document.body.scrollTop来获取滚动条滚动的长度,结果滚动后得到的也是0,为什么改用document.documentElement.scrollTop就可以了?

A:可以查看一下源代码,如果没有

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"  
  2.  
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4.  

这一句那么可以用document.body.scrollTop,否则只能用document.documentElement.scrollTop。

原因:在标准w3c下,document.body.scrollTop恒为0,需要用document.documentElement.scrollTop来代替;document.documentElement.scrollTop中documentElement对应的是html标签;document.body.scrollTop中body对应的是body标签。

【编辑推荐】

  1. hover在IE6下的问题及解决方法
  2. 探究IE8与IE7具体功能中窗口功能按钮的变化
  3. IE6 IE7 IE8三个版本的CSS兼容速查手册
  4. IE6下使用CSS定义DIV高度行之有效的办法
  5. 技术前沿 一段JS代码轻松解决IE6-IE8的兼容性问题

 

责任编辑:佚名 来源: chinaz.com
相关推荐

2010-08-20 09:47:54

2010-08-27 16:07:50

2010-08-19 10:40:36

position:fiIE6

2010-09-15 14:22:05

IE6position

2010-09-15 14:14:29

IE6position

2011-03-29 14:09:00

Windows Ser蓝牙

2009-11-03 09:01:01

Windows 7视频播放

2009-08-14 09:20:40

抵制IE6

2010-08-19 10:33:54

IE6position:fi

2009-06-10 14:23:06

netbeans 6.Jboss

2011-08-11 14:33:13

加密RSA虚拟化

2011-07-19 10:09:58

Catalyst 65交换机

2009-04-02 08:57:23

IE8Firefox插件

2010-03-10 09:13:01

IE9GPU加速

2011-03-07 12:31:54

Filezilla

2010-05-13 14:08:58

Visual Stud

2012-05-16 09:27:53

Chrome浏览器

2009-09-03 15:22:05

RHEL5内存红帽

2010-02-01 08:41:23

GoogleIE6
点赞
收藏

51CTO技术栈公众号