什么是“层叠上下文” 层叠上下文(stacking context),是HTML中一个三维的概念.在CSS2.1规范中,每个盒模型的位置是三维的,分别是平面画布上的X轴,Y轴以及表示层叠的Z轴.一般情况下,元素在页面上沿X轴Y轴平铺,我们察觉不到它们在Z轴上的层叠关系.而一旦元素发生堆叠,这时就能发现某个元素可能覆盖了另一个元素或者被另一个元素覆盖. 什么是“层叠等级” 层叠等级(stacking level,叫“层叠级别”/“层叠水平”也行) 在同一个层叠上下文中,它描述定义的是该层叠上下文中…
前言 最近,在项目中遇到一个关于CSS中元素z-index属性的问题,具体问题不太好描述,总结起来就是当给元素和父元素色设置position属性和z-index相关属性后,页面上渲染的元素层级结果和我预想的不一样.根据自己之前的理解,也没找到一个合理的解释.我知道,肯定是我对相关属性的细节理解存在问题,所以结合官方文档和在网上各种搜集整理,明白了其中的原因.写下这篇文章,和大家分享有关CSS中层叠上下文.层叠等级.层叠顺序以及z-index相关的一整套技术细节. 如果存在什么错误或重要遗漏或者有…
前言 在编写css样式代码的时候,我们经常会遇到z-index属性的使用,我们可能只了解z-index能够提高元素的层级,并不知道具体是怎么实现的.本文就来总结一个由z-index 引发的层叠上下文和层叠顺序相关知识点,有了这方面的了解,才能减少开发中遇到的bug,同时这也是面试中经常遇到的问题. 正文 1.z-index 属性 通常情况下,html 页面被认为是二维的,相当于只有 x 和 y 轴,因为文本.图像和其他元素被排列在页面上而不重叠.这种情况下只有一个渲染进程,所有元素都知道其他元素…
一.z-index z-index默认处于非激活状态,只有定位元素(即position:relative/absolute/fixed时)才会被激活. z-index与层叠上下文关联. 当z-index相同(即层叠级别相同)的时候,遵循“后来者居上”的原则. 二.层叠上下文 以下两种情况,会创建层叠上下文: 1.根元素 2.z-index不为auto的“定位元素” 三.层叠级别 层叠级别由低到高为: 层叠上下文的边框和背景<负z-index<块盒子(普通文档流下的块盒子)<浮动盒子(非定…
包含块 什么是包含块?简单来说,就是决定一个元素大小和定位的元素.一个元素会为它的内部元素创建包含块,但也不能说元素的包含块就是它的父元素: 1.position:fixed 的元素 包含块是当前可视窗口 2.position:absolute 的元素 包含块是最近的 position属性为非static的祖先元素 3.静态定位和相对定位 的元素 包含块是最近的块级祖先元素 层叠上下文 跟BFC相似,是可以创建出来的(z-index: Number) 同一个层叠上下文中,层叠级别由低到高:边框和…
写在前面乱七八糟的前言: 此"八卦"的源于,在写下图这个圆滚滚的导航布局时,使用元素及其伪元素加上绝对定位完成,但遇到:before或:after伪元素与元素的层叠顺序,就是伪元素总是会跑到元素的上面,后面自行解决方案是给伪元素设置z-index:-1:而元素与元素父级不设置z-index,解决了伪元素与元素之间的层叠,但当hover元素时,元素变大使用了transform时,伪元素又顽强地跑到我的面前了,_(:з」∠)_生无可恋脸,由此想深入听听关于层叠顺序的"八卦&quo…
z-index基础介绍:三维坐标空间里,x轴通常用来表示水平位置,y轴来表示垂直位置,还有z轴来表示在纸面内外方向上的位置,像下面的图片一样: css允许的z-index的值是 ● auto (自动,默认值) ● (整数) ● inherit (继承)当设置成整数时,值越大越靠近用户.如果有两个元素放在了一起,占据了一块共同的区域,那么有着较大z-index值的元素就会掩盖有着较低z-index值的元素在共同区域的那一部分. 关于z-index的三个思考 ● 当一个设置了z-index值的定位元…
以下内容根据CSS规范翻译. z-index 'z-index'Value: auto | <integer> | inheritInitial: autoApplies to: positioned elementsInherited: noPercentages: N/AMedia: visualComputed value: as specified 注意:z-index属性只能应用于position属性不为static的元素,即定位元素. 对于定位元素来说,z-index属性指定: 在…
网上有很多这方面的教程,但不是苦涩难懂就是从哪copy过来的,反正很长一段时间我是没看懂,时间长了也没打算去研究了,主要原因是,基本上很少会遇到那些问题(所以说啊,要是没有研究精神的才懒得管它).但自从开始研究CSS以后就一发不可收拾,所以打算把CSS一系列的东西都给研究一遍,当然能研究懂自然是好的,不能就当自娱自乐了.话说这个层叠顺序和堆栈上下文没啥用对吧,你看我就是不学它,平时也没出什么问题. -- 想让它出问题也很简单,不过既然你都说没用了,也就不打算告诉你了. 本篇属于短话长说型,前半部…
MDNThe stacking context 层叠上下文是HTML元素的三维概念,这些HTML元素在一条假想的相对于面向(电脑屏幕的)视窗或者网页的用户的z轴上延伸,HTML元素依据其自身属性按照优先级顺序占用层叠上下文的空间. 在之前的增加 z-index 的例子中, 某些 DIV 的渲染顺序是由 z-index 的值影响的.这是因为这些 DIV 具有 使他们形成一个层叠上下文  的特殊属性. 文档中的层叠上下文由满足以下任意一个条件的元素形成: 根元素 (HTML), z-index 值不…