html语言position,html中position定位

html中position有三个值:relative、absolute、fixed。

首先说position:relative,相对定位,指的是元素本身定位。开启元素相对定位之后,

1.元素不会脱离文档流;

2.可以给元素设置top、bottom、left、right值;

3.可以给元素提升一个层级;

4.设置了相对定位元素,原来是内联元素现在还是内联元素,原来是块状元素,现在还是块状元素。

例:有3个块状元素,想要将box2移到box3的右边,通常可以给box2设置margin-top、margin-left值实现,具体如下:

但是我们 发现给box2设置margin-top、margin-left值后,box2并没有到box3的右边,box3同时也下移了100px。

8e557fe90ce9

此时我们可以通过给box2设置position:relative,并设置left、right、top、bottom等偏移值来实现。

如图:

8e557fe90ce9

但是如果box2在水平方向上是偏移了50px,则box2会将box3遮住一部分,而不是box3会将box2遮住一部分,因为box2设置了position:relative后,层级提升了一个等级。

具体如图:

8e557fe90ce9

给元素添加了position:relative后,块状元素还是块状元素,内联元素还是内联元素。

8e557fe90ce9

然后说position:absolute绝对定位,

1.设置position:absolute的元素会脱离文档流

2.会提升一个层级,遮住其他元素

3.设置top、bottom、left、right时偏移量是相对于最近的一个父元素偏移

4.会将内联元素变成块状元素。

示例:

有box1、box2、box3,高度一样,宽度不一样,给宽度最小的box1设置position:absolute后,他会脱离文档流,并且会提升一个层级,盖住box2的一部分。

8e557fe90ce9

如果给具有position:absolute的元素设置偏移量的话,会发现他的偏移和position:relative的偏移有所不同,它是相对于他最近的父元素进行偏移。如图:

8e557fe90ce9

如果给他的父元素body设置一个margin:0,padding:0后,元素偏移就正常了。

如图:

8e557fe90ce9

设置了position:absolute的元素,内联元素会变块状元素。

如图:

8e557fe90ce9

position:fixed,相对于浏览器窗口固定定位。

无论怎么滚动滚动条,设置了position:fixed的元素总是在距离浏览器窗口固定位置。

如图:

8e557fe90ce9

设置了position:absolute和position:relative的元素都会进行层次的提升,如果3个元素都设置了position定位,层级关系是怎么样的呢?

示例如图:

8e557fe90ce9

如果3个都设置了position定位,box2会盖住box1,box3会盖住box2,即html结构中下面的元素会盖住上面的元素。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值