相对定位和绝对定位

position
relative:相对定位
解释:相对定位是相对于当前自己的位置.同时相对定位其本身所占位置并没有改变,只是其坐标改变,说白了也就是学生在班级里面有自己的座位而相对定位就是这个学生在移动而座位并没有动,所以这也是为什么下图中的绿色按钮能压住红色按钮的原因.

<div style="width: 200px; height: 300px; border: 1px solid red ">

<div style="background-color: greenyellow;
width: 100px;
height: 100px;
position: relative;
left: 20px;
top: 20px;
">
</div>

<div style="background-color: darkred;
width: 100px;
height: 100px;
">
</div>

</div>
9ECCB6FC-DC53-4939-9C78-62A06E3ECA02.png

position:
absolute:绝对定位
解释:绝对定位是相对于其父视图来进行定位,由于子视图的父视图分很多层级比如:a标签的父视图是div,而div的父视图是body;所以为了区分是相对于那个层级的父视图,就规定了设置绝对定位的时候父视图需要设置position: relative;这个属性,这也就是常说的子绝父相;如果子视图的所有父视图都没有设置position: relative;这个属性,那么子视图就是相对于最外层的父视图,也就是body标签.
同时需要说明的是,绝对定位的元素是悬浮在其父视图之上的,这也是为什么下图的黄色按钮能够压在p标签之上的原因

<div style="background-color: greenyellow;
width: 100px;
height: 100px;
position: relative;
">
<p>代收款发快递费发快递费发快递费</p>

  <div style="background-color: yellow;
width: 40px;
height: 40px;
position: absolute;
left: 20px;
top: 20px;
">
  </div>

</div>
17B1BEBA-BDD3-4C6C-B7A8-93373EA31DF8.png
附注: 最后多提一嘴

如果在两个绝对定位的的元素添加在同一位置如何来控制两个元素的显示层次?-----这个时候就用到了**z-index: 这个属性谁的z-index: **值高谁就在最前面,这也就是为什么下图黄色div能压住蓝色div的原因

<div style="background-color: greenyellow;
width: 100px;
height: 100px;
position: relative;
">
<p style="z-index: 100">代收款发快递费发快递费发快递费</p>

  <div style="background-color: yellow;
width: 40px;
height: 40px;
position: absolute;
left: 20px;
top: 20px;
z-index: 100;
">
  </div>

  <div style="background-color: blue;
width: 40px;
height: 40px;
position: absolute;
left: 30px;
top: 30px;
">
  </div>


</div>
E5207696-73AD-4211-B150-C58B45E78549.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CSS布局在整个前端开发中占据了大约50-70%的工作量,在遵循web规范的前提下,编写合乎规范的前端代码,实现结...
    FaithXiong阅读 795评论 0 0
  • 组来了一个新人小弟,CSS的问题都是比较常见的基础问题,解决并回答的过程中,就当巩固了 绝对定位和相对定位的使用规...
    Dorazzz阅读 662评论 0 0
  • 1.相对布局不会脱离标准流,会继续在标准流中占有一部分的空间,不利于布局的界面 绝对定位的元素会以body作为参考...
    5a4982b9b5fe阅读 719评论 0 0
  • css中的相对定位和绝对定位 在文档流中,每个块元素都会被安排到流中的一个位置,我们可以通过css中的定位属性来重...
    pizan阅读 580评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,790评论 1 92