文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php教程>css如何固定住元素不变

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爱好者其它相关文章!

相关阅读更多 +
最近更新
排行榜 更多 +
元梦之星最新版手游

元梦之星最新版手游

棋牌卡牌 下载
我自为道安卓版

我自为道安卓版

角色扮演 下载
一剑斩仙

一剑斩仙

角色扮演 下载