相对定位(relative),绝对定位(absolute),固定定位(fixed)

一、绝对定位 position:absolute

绝对定位是相对于元素最近的已定位的祖先元素(即是设置了绝对定位或者相对定位的祖先元素)。如果元素没有已定位的祖先元素,那么它的位置则是相对于最初的包含块(html)。

绝对定位本身与文档流无关,因此不占空间,元素会脱离文档流,普通文档流中的元素的布局就当绝对定位的元素不存时一样,所以 它们可以覆盖页面上其他的元素,并且可以通过z-index属性来控制这些层的对方顺序。

1、举个例子:

HTML代码:
在这里插入图片描述

现在只给第五个box设置absolute

说明:元素在没有定义宽度的情况下,宽度由元素里面的内容决定,效果和用float方法一样。

在这里插入图片描述

效果:

在这里插入图片描述

2、absolute定位原理剖析:

1.在父元素没有设置相对定位或绝对定位的情况下,元素相对于根元素定位(即html元素)(是父元素没有)。

现在给box5偏移值来验证:

在这里插入图片描述

效果:

在这里插入图片描述

2、父元素设置了相对定位或绝对定位,元素会相对于离自己最近的设置了相对或绝对定位的父元素进行定位。

现在给body元素一个绝对定位(body元素设置为了absolute,整个容器的宽度由最长div决定,宽度变小了):

此时的box5现在相对于body元素定位

效果:

在这里插入图片描述

对比可以看到,相对于body定位的box5距离文字box1要远一点。所以在没有父元素设置相对定位或绝对定位的情况下,设置了absolute的元素会相对于html根元素定位。

二、相对定位 position:relative

定位是相对于自身位置定位(设置偏移量的时候,会相对于自身所在的位置偏移)。设置了relative的元素仍然处在文档流中,元素的宽高不变,设置偏移量也不会影响其他元素的位置。最外层容器设置为relative定位,在没有设置宽度的情况下,宽度是整个浏览器的宽度。

relative:相对于原来位置移动,元素设置此属性之后仍然处在文档流中,不影响其他元素的布局。
给第二个box设置relative:

元素相对于原来位置偏移,宽高都没变,撑大了容器。

在这里插入图片描述

效果:

在这里插入图片描述

三、固定定位 position:fixed

固定定位,相对于视口做参照系,是将某个元素固定在浏览器的某个确定的位置,不随滚动条的移动而变化。

代码示例:

1.我们先在页面中输出一个标准情况下的 div 元素,不添加定位;

代码:

在这里插入图片描述

效果:

在这里插入图片描述
2. 然后给 div 元素添加固定定位:设置 position:fixed; left:100px; top:100px;
代码:
在这里插入图片描述

效果:
在这里插入图片描述

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bootstrap是一个流行的前端框架,提供了许多用于快速开发响应式布局CSS类和JavaScript插件。相对定位绝对定位CSS中的两种定位方式,Bootstrap也支持这两种定位方式。 相对定位(Relative Positioning)是指元素相对于其默认位置进行定位,通过CSS属性`position: relative`来实现。通常会伴随着`top`、`bottom`、`left`、`right`等属性来指定元素的偏移量。相对定位不会使元素脱离文档流,仍会占用原来的空间。 例如,在Bootstrap中,你可以使用以下CSS类将一个元素进行相对定位: ```html <div class="position-relative"> <p class="position-absolute top-0 start-50 translate-middle">这是一个相对定位的段落</p> </div> ``` 上面的代码将`<p>`元素相对于`<div>`元素进行定位,通过`position-absolute`类来指定元素的绝对定位,并通过`top-0`、`start-50`和`translate-middle`等类来指定元素的偏移量和居中对齐方式。 绝对定位Absolute Positioning)是指元素相对于最近的具有定位position属性值为relativeabsolutefixed或sticky)的祖先元素进行定位,通过CSS属性`position: absolute`来实现。通常会伴随着`top`、`bottom`、`left`、`right`等属性来指定元素的偏移量。绝对定位会使元素脱离文档流,不再占用原来的空间。 例如,在Bootstrap中,你可以使用以下CSS类将一个元素进行绝对定位: ```html <div class="position-relative"> <p class="position-absolute top-0 start-50 translate-middle">这是一个绝对定位的段落</p> </div> ``` 上面的代码与相对定位的代码类似,但是通过将`<p>`元素的`position`属性设置为`absolute`来实现绝对定位。 总的来说,相对定位绝对定位都是CSS中常用的定位方式,具体使用哪种方式取决于具体的需求。在Bootstrap中,你可以通过提供的CSS类来轻松实现相对定位绝对定位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值