如何解决css定位position引发的层级关系问题-创新互联
这篇文章主要介绍了如何解决css定位position引发的层级关系问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联主营横县网站建设的网络公司,主营网站建设方案,app开发定制,横县h5成都微信小程序搭建,横县网站营销推广欢迎横县等地区企业咨询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 的上层
只有兄弟关系的定位元素才能比较层级
下面让我们来分析上面列出的几点:
分析一下第一点
c1
此时c2的层级更高,应该在叠在c1上方
分析一下第二点
此时定位元素都有层级,后面的元素在上面
分析一下第三点
此时c3会直接覆盖c2,因为c2的定位是absolute,下面的元素会往c2处移动,由第二点可知,c3在c2的上面,故c3直接盖住了c2
分析一下第四点
c1和c2都是定位元素,默认z-index:0,将c1的z-index设置为1,这样c1会在c2的上面
分析一下第五点