永发信息网

在css中如何正确使用fixed

答案:2  悬赏:60  手机版
解决时间 2021-02-08 20:31
在css中如何正确使用fixed
最佳答案
在使用时要注意z-index的使用,与普通层的关系
全部回答
我们经常碰到的需求是希望页面某个元素固定在浏览器的一个位置,无论如何滚动滚动条,位置不变,就例如经常看到的弹出广告。方法一般是使用js控制,或者使用css。这里我写的是css的控制方法。
在IE7以上版本及firefox、opera、safari里,都支持css属性"position:fixed",它的作用就是将元素相对于窗口固定位置。代码如下
#ads{
    position:fixed;
    right:0;
    bottom:0;
    border:1px solid red;
    width:300px;
    height:250px;
}
我们定义一个#ads的id样式,并给他设了高度宽度,通过position:fixed以及right、bottom将元素定位在窗口右下角。
但是在IE6下,并不支持position:fixed属性,这个时候我们需要对IE6进行hack处理。解决的方案是使用postion:absolute属性,它的作用大家都很熟悉,相对于父元素进行绝对定位,然后我们可以通过expression来改变#ads的top值。
PS expression的定义:IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javas cript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段Javas cript表达式,CSS属性的值等于Javas cript表达式计算的结果。 在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。
所以我们可以通过在css里计算javascript值来改变top值,代码如下:
#ads{
    _position:absolute;
    _top:expression(documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight);
}
似乎一切都完美了,但是我们在IE6下运行的时候会发现,随着滚动条的移动,我们的这个#ads朋友他会抖动。解决方法也很简单,只要在body里加一点点的css,如下:
body{
    background-image:url(about:blank);  
    background-attachment:fixed; 
}

PS:原本使用的是"url(text.txt)",但是txt这个是不存在的,http请求报404错误,导致影响加载速度,参考了网上的一些写法,使用about:blank可以达到相同目的。
原理据说是ie6不支持fixed 而其样式背景却支持fixed,通过背景来此消彼长消除抖动
body{
    background-image:url(about:blank);  
    background-attachment:fixed; 
}
#ads{
    width:300px;
    height:250px;
    position:fixed;
    right:0;
    bottom:0;
    _position:absolute;
    _top:expression(documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight);
    border:1px solid red;
}
需要注意的是IE6可不支持fixed,一般用_position:absolute加js来代替fixed的实现
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦见把树上挂着的死鱼打掉地上都生蛆了
美丽嘉美容美体养发地址好找么,我有些事要过
瑾晗是什么意思
如意商务酒店这个地址在什么地方,我要处理点
办理eb3移民要多久
驾驶证好不好贷款
冬至黑天早还是夏至黑天早
香色伊人美容美体会馆地址好找么,我有些事要
???方是多少?三分之一+九分之二+二十七分
狗狗才2个月为什么想交配了?
杉树塆村这个地址在什么地方,我要处理点事
想找到她。
三点水加戾念什么
薛娜美容养生地址好找么,我有些事要过去
红萝卜丝怎么切
推荐资讯
笔记本越用越卡可以去店里维修吗
浙江宁波绿涵高尔夫俱乐部地址在什么地方,我
“票拟”是指A. 阁臣帮助皇帝对奏章拟出处理
请问济南长途汽车总站售票点在哪,在南区有卖
荆州到阳新木港出口自驾车有多少公里
自动道闸扫描到车头车牌起杆车过后落杆,但是
84×几小于250
龙腾内燃烤漆地址有知道的么?有点事想过去
我想带家人去台湾旅游,参观佛光山,如何实现
魔穗字幕组的彼女x彼女x彼女资源共享
池塘莲藕苗多少钱一斤
我是农村的别人建房子建在我家土地上,不过占
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?