css如何固定住元素不变
时间:2021-04-14 来源:互联网
今天PHP爱好者给大家带来在css中,可利用position属性让元素固定不变;只需要给元素添加“position:fixed”样式,进行固定定位即可。固定定位相对于窗口进行定位,无论是否移动滑动条,都固定在相对于窗口的固定位置;其他元素在位置排布上将会忽略其存在。希望对大家有所帮助。
本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
#ads{
position:fixed;
right:0;
bottom:0;
border:1px solid red;
width:300px;
}
我们定义一个#ads的id样式,并给他设了高度宽度,通过position:fixed以及right、bottom将元素定位在窗口右下角。
但是在IE6下,并不支持position:fixed
属性,这个时候我们需要对IE6进行hack处理。解决的方案是使用 postion:absolute属性,它的作用大家都很熟悉,相对于父元素进行绝对定位,然后我们可以通过expression来改变#ads的top 值。
expression的定义:IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javascript 表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段Javascript表达式,CSS属性 的值等于Javascript表达式计算的结果。 在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。
所以我们可以通过在css里计算javascript值来改变top值,代码如下:
#ads{
_position:absolute;
_top:expression(documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight);
}
似乎一切都完美了,但是我们在IE6下运行的时候会发现,随着滚动条的移动,我们的这个#ads朋友他会抖动。解决方法也很简单,只要在body里加一点点的css,如下:
body{
background-image:url(about:blank); /* for IE6 */
background-attachment:fixed; /*必须*/
}
完整的代码:
body{
background-image:url(about:blank); /* for IE6 */
background-attachment:fixed; /*必须*/
}
#ads{
width:300px;
position:fixed;
right:0;
bottom:0;
_position:absolute;
_top:expression(documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight);
border:1px solid red;
}
以上就是css如何固定住元素不变的详细内容,更多请关注php爱好者其它相关文章!
-
API接口协议的种类 API接口的作用 2024-11-27
-
大江湖之苍龙与白鸟赤列玩法攻略 2024-11-27
-
大江湖之苍龙与白鸟武功获得方法 2024-11-27
-
API接口的简单编写方式 Java开发API接口如何编写 2024-11-27
-
剑与骑士团讨伐战玩法介绍 2024-11-27
-
永劫无间手游八斩刀介绍 2024-11-27