什么是“层叠上下文”

层叠上下文(stacking context),是HTML中一个三维的概念。在CSS2.1规范中,每个盒模型的位置是三维的,分别是平面画布上的X轴Y轴以及表示层叠的Z轴。一般情况下,元素在页面上沿X轴Y轴平铺,我们察觉不到它们在Z轴上的层叠关系。而一旦元素发生堆叠,这时就能发现某个元素可能覆盖了另一个元素或者被另一个元素覆盖。


比如这种解释

这种解释非常的官方,也很书面化  我第一次理解的时候也是很麻烦,我说下我理解的看法吧

z-index属性值并不是在任何元素上都有效果。它仅在定位元素 

这句话看起来就很明白  zi-index的属性 只能在定位元素有效果

 

我理解的网页  所有的层级关系  初始值全是1  谁都覆盖不到谁的元素上  只能挤来挤去 

 

z-index的理解  我把它理解成一个个的砖头吧  然后我们不要以正常的想法去看待index

我们可以把自己想象成一个无人机  在空中的方式去看待index

 

比如一个div就是一个砖头    我们在电脑前方去看  相当于我们就是无人机 

但是砖头都是平铺的 不能层叠的铺   

而z-index呢  相当于他在砖头上又覆盖了一个砖头

比如托塔天王的玲珑宝塔 有七层对应下方七个层级

z-index   1  2  3  4  5  6 7  

如果站在空中的角度就是   只能先看到最高的一层 也就是第七层  z-index7  想象一下自己在侧面看  就很清楚能分析出值越大的说明他在的层级越高   

在空中看到的层级关系就是  谁越高你第一眼就能看到那个元素   当然元素有大小区分  覆盖在上面的元素越小的  下面的大的话 也是可以看到的  但是中间区域会被最高层级的元素占位空间挡住。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐