首页 > 编程知识 正文

定位position属性值,css position定位类型

时间:2023-05-04 15:22:49 阅读:234170 作者:4779

定位问题是最让新手(比如我。。)头疼的问题之一,如果懒得看分析直接翻到最后 直接说如何用。

我们知道定位分为相对和绝对

position的属性值其实一共有五个:

absolute

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative

生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。inherit规定应该从父元素继承 position 属性的值。

对于新手来说这个属性值的说明让人脑壳疼,实际用的时候也有各种各样的问题,在这我们分析一下这些说明是啥意思

从简单的开始:

默认值static就是出现在正常位置,没有定位,这个没啥问题inherit感觉并不常用,继承父元素的position属性值,它外边的父亲元素啥样它也啥样relative就是相对它本身的正常位置定位fixed如同说明,相对浏览器定位,其实这个才是我们所理解的“绝对定位”,我们经常用absolute来当作fixed使用,而实际上absolute有别的规则.absolute并不一定相对于浏览器,细读说明:相对于 static 定位以外的第一个父元素

比如div里有一个span,

<div> <span></span></div>

span的absolute设置成absolute时相对于谁定位并不一定,要看div的position属性值是不是static(默认是),

如果不是则span相对于div定位,如果是要继续向上找父元素,直到找到一个position属性值不是static的元素,

span就以它为基准定位。

 

所以,如果想相对于父元素定位 我们要做的是:

给子元素position:absolute;给父元素position:relative;

上面的例子就是给div 写position:relative;  给span写position:absolute;

    如果想相对浏览器定位

直接给元素写position:fixed;

 

题外话,positionbadm是很流氓,不管三七二十一直接强制定位,实际上并不推荐经常使用,使用float和margin-top(left......)和其他的一些位置调整就能达到理想的效果,如果实在不行再考虑使用position,算是我们的杀手锏。

 

这就是我所理解的position的意思,如有错误敬请指出

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。