css定位position引发的层级关系问题详解
发布时间:2020-02-10 16:30:25 作者:tangrl 我要评论
这篇文章主要介绍了css定位position引发的层级关系问题详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
position定位里的absolute,relative和fixed
- absolue:绝对定位,用top,bottom,left和right根据有定位的父级元素进行定位,如果无则相对body元素即整个页面文档进行定位。
- relative:相对定位,相对自己原来的位置进行定位
- fixed:绝对定位,相对浏览器窗口进行定位(fixed定位会让元素一直处于浏览器某个位置,不会随着滚动条滚动而变化)
由position引起的层级关系问题
首先我们要知道,css属性其实是一个立体空间有x,y,z轴,但是只有我们使用了position定位时,z轴上的层级关系才体现出来,即z-index这个属性仅定位元素才有。现在让我们来分析这些层级关系吧。
层级关系如下:
- z-index这个属性仅定位元素才有
- 有定位属性的元素默认层级是0,如果层级一样,则后面的元素居上,可以理解z-index:0+
- absolute定位的元素会让下面元素y轴向上移动,可以理解为absolute定位后该元素变成行级元素了
- z-index的值越大,离我们观察者越近,比如z-index:2在z-index:1 的上层
只有兄弟关系的定位元素才能比较层级
下面让我们来分析上面列出的几点:
分析一下第一点
<style> .c1{ width: 100px; height: 100px; background-color: rgb(255, 0, 0); } .c2{ width: 200px; height: 100px; background-color: rgb(0, 0, 255);; position: absolute; top: 50px; } </style> <body> <div class="c1">c1</div> <div class="c2">    c2</div> </body>
此时c2的层级更高,应该在叠在c1上方
分析一下第二点
<style type="text/css"> .c1{ width: 100px; height: 100px; background-color: rgb(255, 0, 0); position: relative; } .c2{ width: 200px; height: 100px; backgr
此时定位元素都有层级,后面的元素在上面
分析一下第三点
<style type="text/css"> .c1{ width: 100px; height: 100px; background-color: rgb(255, 0, 0); position: relative;
此时c3会直接覆盖c2,因为c2的定位是absolute,下面的元素会往c2处移动,由第二点可知,c3在c2的上面,故c3直接盖住了c2
分析一下第四点
<style type="text/css"> .c1{ width: 100px; height: 100px; background-color: rgb(255, 0, 0); position: relative;
c1和c2都是定位元素,默认z-index:0,将c1的z-index设置为1,这样c1会在c2的上面
分析一下第五点
<style type="text/css"> .c1{ width: 100px; height: 100px; background-color: rgb(255, 0, 0); position: relative; } .c2{ width: 200px; height: 100px; background-color: rgb(0, 0, 255);; position: absolute; z-index: 1; } </style> <body> <div class="c2">     c2 <div class="c1">c1</div> </div> </body>
把c1放在c2里面,即使把c2的z-index设为1,c1依旧在c2上面,说明嵌套元素无层级关系,只有兄弟元素才有层级关系
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
- css中的position属性,position有四个值:absolute/relative/fixed/static(绝对/相对/固定/静态(默认))通过定位属性可以设置一些不规则的布局,使用TLBR(top,left,bottom,r2020-03-22
- 这篇文章主要介绍了详解css粘性定位position:sticky问题采坑的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下2019-08-26
- 这篇文章主要介绍了CSS position属性和实例应用演示,absolute(绝对定位),relative(相对定位),relative与absolute的结合使用以及fixed(固定定位),需要的朋友可以参考下2017-08-11
- 本文详细介绍了CSS中position定位和float浮动的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧2017-02-24
css关于position属性的用法详解(绝对定位和相对定位的混淆)
下面小编就为大家带来一篇css关于position属性的用法详解(绝对定位和相对定位的混淆)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-09-08- 这篇文章主要介绍了css position fixed 左右双定位的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-04-29
最新评论