css position定位

定位是可以将元素摆放到页面中的任意位置

pisition的默认值是static,没有开启定位

position:relative 相对定位

position: absolute,绝对定位

position: fixed 固定定位

position: sticky 粘滞定位

1 相对定位

(不脱离文档流,是块元素还是块元素,行内元素还是行内元素。但是图层显示层级有提升。设置偏移量以后,相对于自己原来的位置定位)

(1)开启相对定位

position: relative

开启了以后还是没有效果,因为要设置偏移量,才会有改变。

开启相对定位不会脱离文档流,因为下面的元素没有往上挤;也不会改变元素的性质,如果脱离文档流之后,块元素不再独占一行,宽高都被内容撑开,行内元素会变成块元素,相对定位不会改变元素的性质,是块元素还是独占一行,是行内元素也是行内元素。

(2)开启定位之后,设置偏移量。

top:100px。 相对于原来位置,往下移动100px. 也就是上面有一段100px的距离

left:100px  相对于原来位置,往右移动100px,也就是左边有一段100px的距离。

(3)虽然相对定位把元素移走了,但是原来的位置还占着,没有脱离文档流,不过图层提升了。

适合场景:简单的微小定位。 移动一点点。 因为如果移动很多,原来的位置都会空出来。

例如:购物车图标 

使用相对定位之后,原来占多少位置,还是占多少位置,不会把别的内容撑开,不会有改变。

不过会盖住原来的东西,会提升元素的层级

2 绝对定位

(脱离文档流,不设置偏移量位置不变,设置了偏移量之后,不相对于自己原来的位置定位,而是相对于开启了相对定位的父元素。)

(1)开启绝对定位

position: absolute;

开启以后立马脱离了文档流,文档流中下面的元素会挤上去,虽然脱离了文档流,但是没有设置偏

移量的话,元素的位置不会发生改变,所以这个开启绝对定位的元素会挡住文档流挤上来的元素。

-----意思就是,虽然脱离了文档流,但是位置没有改变。

元素性质发生了变化,不再独占一行了,宽高都会被内容撑开。

比如如果有字的话,就被字撑开。如果没有字,同时没有设置宽度,那就没有东西。

(2)设置偏移量以后,是相对于开启了相对定位的父元素定位的。

为什么要给父元素开启相对定位,因为相对定位开启了以后,会开启定位,但不会对这个父元素产生影响。只要不给这个父元素设置偏移量,跟不开启定位一样,这个父元素还是在文档流中。

当然,开启fixed,sticky这些也是开启了定位。不一定非得是relative

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS中的position属性用于控制元素的定位方式。根据引用\[1\]和引用\[2\],position属性有五个值:static、relative、absolute、fixed和sticky。 - static:元素按照正常的文档流进行布局,不会受到position属性的影响。 - relative:元素相对于其在正常文档流中的位置进行定位。引用\[3\]中的示例展示了相对定位的效果,其中.content_1元素相对于其在正常文档流中的位置进行定位。 - absolute:元素相对于其最近的非static定位的父元素进行定位。如果没有非static定位的父元素,则相对于文档的根元素进行定位。引用\[2\]中的示例展示了绝对定位的效果,其中.content元素相对于.container元素进行定位。 - fixed:元素相对于浏览器窗口进行定位,即使页面滚动,元素的位置也不会改变。 - sticky:元素在滚动到特定位置时变为固定定位,直到滚动回到指定位置之前保持固定定位。 总结来说,position属性用于控制元素的定位方式,可以通过设置不同的值来实现不同的效果。 #### 引用[.reference_title] - *1* *2* *3* [CSS Position 定位](https://blog.csdn.net/Coxhuang/article/details/103319551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值