Absolute(绝对定位)与relative(相对定位)的图文讲解

Absolute(绝对定位)与relative(相对定位)的图文讲解Position 的属性值有 1 nbsp nbsp nbsp nbsp nbsp Absolute 绝对定位 是相对于最近的且不是 static 定位的父元素来定位 2 nbsp nbsp nbsp nbsp nbsp Fixed 绝对定位 是相对于浏览器窗口来定位的 是固定的 不会跟屏幕一起滚动 3 nbsp nbsp nbsp nbsp nbsp Relative 相对定位 是相对于其原本的位置来定位的 4 nbsp nbsp nbsp nbsp nbsp Static 默认值 没有定位 5 nbsp nbsp nbsp nbsp nbsp Inherit 继承父元素的 position 值 对于初

Position的属性值有:

1.     Absolute:绝对定位,是相对于最近的且不是static定位的父元素来定位

2.     Fixed:绝对定位,是相对于浏览器窗口来定位的,是固定的,不会跟屏幕一起滚动。

3.     Relative:相对定位,是相对于其原本的位置来定位的。

4.     Static:默认值,没有定位。

5.     Inherit:继承父元素的position值。

对于初学者来说,position的属性很让人头疼,特别是absolute与relative之间的区别,接下来我就以图文讲解的方式来给大家讲解一下这两者之间的不同之处。

首先设置4个div:

<body>

        <div class=“div1”>第一个div
div>

        <div class=“div2”>第二个div
div>

        <div class=“div3”>第三个div
div>

        <div class=“div4”>第四个div
div>

   
body>

添加背景色,效果如下:

Absolute(绝对定位)与relative(相对定位)的图文讲解

给第二个div设置absolute:

.div2{

                height:100px;

                background-color: blueviolet;

                position:absolute;

                top:50px;

                left:50px;

}

效果如图:

Absolute(绝对定位)与relative(相对定位)的图文讲解

第二个div设置了absolute,则该div的宽度就由文本决定,且下面的div会上移占据之前第二个div的位置,topleft相对于离它最近且不是static定位的父元素来定位的,在此div2因为没有父元素,所以第二个div相对于根元素即html元素来定位。

将第二个div设置为relative:

.div2{

                height:100px;

                background-color: blueviolet;         

                position:relative;

                left:50px;

                top:50px;

            }

效果如图:

Absolute(绝对定位)与relative(相对定位)的图文讲解

设置relative的div不会影响其他div的位置,且top和left是相对于它原本自身的位置来定位。

给第二个div添加一个父div:

<body>

            <div class=“div1”>第一个div
div>         

            <div class=“container1”>

                第二个div的父div

                <div class=“div2”>第二个div
div>         

           
div>

            <div class=“div3”>第三个div
div>

            <div class=“div4”>第四个div
div>     

   
body>

.container1{

                position:absolute;

                height:200px;

                background-color: greenyellow;

            }           

.div2{

                height:100px;

                background-color: blueviolet;

                position:absolute;

                top:50px;

                left:50px;

}

效果如图:

Absolute(绝对定位)与relative(相对定位)的图文讲解

div2的父div设置为absolute,下面的div3,div4会上移,div2也设置为absolute,div2就会相对于父div来定位。

若将div2即第二个div的absolute改为relative:

.div2{

                height:100px;

                background-color: blueviolet;

                position:relative;

                top:50px;

                left:50px;           

            }

则效果图如下:

Absolute(绝对定位)与relative(相对定位)的图文讲解

注意,上面两个图的第二个div与父div的上边距是不同的,第一个是相对父div来定位,第二个是相对原来本身的位置来定位。可能此时你会注意到两个图的第二个div的宽度不同,在没有给div设置宽度的情况下,第一个是设为absolute,所以宽度为文本宽度,第二个是relative,所以宽度与父元素宽度相同。

若保持上面的两种情况,都将第二个div的宽度设为500px,得到效果如下:

Absolute(绝对定位)与relative(相对定位)的图文讲解

Absolute(绝对定位)与relative(相对定位)的图文讲解

由上图可以知道,absolute定位的子元素宽度不会影响父元素的宽,而relative定位的子元素会撑大父元素。

总结:

Absolution:元素会脱离文档流,定位是相对于离它最近的且不是static定位的父元素而言,若该元素没有设置宽度,则宽度由元素里面的内容决定,且宽度不会影响父元素,定位为absolution后,原来的位置相当于是空的,下面的的元素会来占据。

Relative:元素仍处于文档流中,定位是相对于原本自身的位置,若没有设置宽度,则宽度为父元素的宽度,该元素的大小会影响父元素的大小。





















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210838.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午11:48
下一篇 2026年3月18日 下午11:48


相关推荐

  • plt.savefig()的用法以及保存路径

    plt.savefig()的用法以及保存路径图像有时候比数据更能满足人们的视觉需求pytorch下保存图像有很多种方法,但是这些基本上都是基于图像处理的,将图像的像素指定一定的维度,具体可见以下博客:Pytorch中保存图片的方式_造未来-CSDN博客_pytorch保存图片主要是写一些函数来保存图片;另外,pytorch中有很多可以直接保存图片的语句如save_image(fake_images,’./img/fake_images-{}.png’.format(epoch+1))此语句同样需要转化像素。.

    2022年6月22日
    447
  • PokePay 靠谱吗?支持开通 ChatGPT Plus 的虚拟卡平台详解

    PokePay 靠谱吗?支持开通 ChatGPT Plus 的虚拟卡平台详解

    2026年3月16日
    3
  • phpstrom2021激活码(在线激活)

    phpstrom2021激活码(在线激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    64
  • 腾讯T4技术专家_T4正常值

    腾讯T4技术专家_T4正常值T4 级老专家:AIOps 在腾讯的探索和实践

    2022年4月20日
    65
  • mysql实现位图索引_位图索引,数据库索引浅浅的学习

    mysql实现位图索引_位图索引,数据库索引浅浅的学习位图 BitMap 索引前段时间听同事分享 偶尔讲起 Oracle 数据库的位图索引 顿时大感兴趣 说来惭愧 在这之前对位图索引一无所知 因此趁此机会写篇博文介绍下位图索引 1 案例有张表名为 table 的表 由三列组成 分别是姓名 性别和婚姻状况 其中性别只有男和女两项 婚姻状况由已婚 未婚 离婚这三项 该表共有 100w 个记录 现在有这样的查询 select fromtablewhe

    2026年3月17日
    2
  • PyCharm使用教程 — 4、界面/菜单栏介绍

    PyCharm使用教程 — 4、界面/菜单栏介绍界面介绍从大的方向来看PyCharm分为菜单栏区域/项目结构区域/代码区域/运行信息区菜单栏提示:菜单栏快捷键为Alt+首字母,比如File的快捷键Alt+F,Edit的快捷键Alt+E1、File(文件)NewProject:创建新的项目New…:新建一些中间件配置,如MySQL、MongoDB、DDL等以及相关驱动NewScratchFile:划痕文档,也称为临时文件,可以创建各种类型的文件进行临时处理,在里面“打草稿”,

    2022年8月27日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号