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 的上层
image只有兄弟关系的定位元素才能比较层级
下面让我们来分析上面列出的几点:
分析一下第一点
<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上方
image
分析一下第二点
<style type="text/css"> .c1{ width: 100px; height: 100px; background-color: rgb(255, 0, 0); position: relative; } .c2{ width: 200px; height: 100px; backgr此时定位元素都有层级,后面的元素在上面
image
分析一下第三点
<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
image
分析一下第四点
<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的上面
image
分析一下第五点
<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上面,说明嵌套元素无层级关系,只有兄弟元素才有层级关系
image
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » css定位position引发的层级关系问题
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » css定位position引发的层级关系问题