手机版

详细说明位置:修复了IE6中的问题 以及使用滚动条滚动的效果

时间:2021-09-03 来源:互联网 编辑:宝哥软件园 浏览:

详细说明位置:修复了IE6中的问题,以及使用滚动条滚动的效果

前言:

《【jQuery】兼容IE6的滚动监听》(点击打开链接)中提到解决IE6fixed的问题,具体来说就是需要引入一个js文件,声明一个脚本来声明这个div的固定定位,刚开始很不好。虽然引入的Javascript不容易管理,但是在head声明中引入javascript,然后为这个div声明一个id,然后在脚本中得到一个声明,这真的很烦人。

使用位置:固定只是为了产生以下效果。

基本上,position:fixed对于IE7以上的所有浏览器都没有问题:

IE8:

野狐禅FireFox:

但是因为IE6中没有位置:直接固定属性,所以要做以下效果:

只能使用position:绝对值;添加一个以css样式执行的javascript脚本来解决它。

!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN ' ' http://www . w3 . org/TR/HTML 4/strict . DTD ' HTML head meta http-equiv=' Content-Type ' Content=' text/HTML;字符集=utf-8 '标题无标题文档/标题样式类型='文本/css '。fixedbox { background: # 69C高度: 60px;宽度: 100 px;位置:固定;bottom: 100px/*IE6执行位置:固定;*//*相当于位置:固定;虽然代码很长,但是完全不用担心*/_position:的绝对性;_top:表达式(eval(document . document element . scroll top document . document element . client height-this . offset theight-(parsent(this . currentstyle . m argin top,10)| | 0)-(parsent(this . currentstyle . marginbottom,10)| | 0));/*相当于位置:固定;虽然代码很长,但是完全不用担心*/_ margin-bottom :100 px;/*设置位置,用margin-bottom和margin-xx代替bottom。*/}/style/head body div style=' float : left;宽度:80%;最小高度:100 px;psss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/p psss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/p psss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/p psss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/ppsss/PPS宽度:20%;最小高度:100 px;div class=' fixedbox '/div/div div style=' clear : both '/div/body/HTMl对于上面的代码,_是在IE6的样式前面添加的,而_的部分是IE6的具体重写样式声明。有关详细信息,请参见《【CSS】关于CSS样式中的!important、*、_符号》(单击打开链接)

事实上,在IE6中,以下CSS:固定{ position:绝对值;top:表达式(eval(document . document element . scroll top document . document element . client height-this . offset theight-(parsent(this . currentstyle . ma rgin top,10)| | 0)-(parsent(this . currentstyle . marginbottom,10)| | 0));}等同于其他浏览器:固定{ position:固定;}当然,在IE6中实现position:fixed的CSS在某些浏览器中可能是不正常的,所以在每个样式前面加了一个下划线_号,表示只在IE6中执行。

同时,IE6以后要有上面的风格,不要像其他浏览器一样用右、上、左、下定位,而是用边距-下、边距-左、边距-右来设置div的位置,用position:fixed。

在这里调整div的位置时,还需要注意的是,由于上面的IE6兼容CSS使用了top属性,所以设置margin-top不起作用。如果您想设置浮动时div离浏览器顶部的距离,您应该这样写:固定{ /*IE6实现位置:固定;*/_position:绝对值;_top:表达式(eval(document . document element . scroll top));_ margin-top :100 px;}这里的about _top代码之所以这么短,是因为不需要使用document . document element . client height来获取浏览器显示窗口大小。

还有这个。offset theight-(par sent(this。当前样式。margintop,10)| | 0)-(par sent(this。当前样式。marginbottom,10) | | 0)都是为了更精准的微调,不想加也可以不加,只是为了一点视觉效果。

此外,从上面的代码中可以看出,我没有设置fixedbox的左右,因为我希望它在用滚动条滚动时保留父div的float:left属性。

也就是说,右边的蓝色色块和左边的大量sss仍然是80%和20%分开的。

如有疑问,请留言或去社区交流讨论。感谢阅读,希望对大家有所帮助。感谢您对本网站的支持!

版权声明:详细说明位置:修复了IE6中的问题 以及使用滚动条滚动的效果是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐