层叠上下文 Stacking Context 在CSS2.1规范中,每个盒模型的位置是三维的,分别是平面画布上的x轴,y轴以及表示层叠的z轴.对于每个html元素,都可以通过设置z-index属性来设置该元素在视觉渲染模型中的层叠顺序. z-index可以设置成三个值: auto,默认值.当设置为auto的时候,当前元素的层叠级数是0,同时这个盒不会创建新的层级上下文(除非是根元素,即<html>): <integer>.指示层叠级数,可以使负值,同时无论是什么值,都会创建一个新的…
前言 最近,在项目中遇到一个关于CSS中元素z-index属性的问题,具体问题不太好描述,总结起来就是当给元素和父元素色设置position属性和z-index相关属性后,页面上渲染的元素层级结果和我预想的不一样.根据自己之前的理解,也没找到一个合理的解释.我知道,肯定是我对相关属性的细节理解存在问题,所以结合官方文档和在网上各种搜集整理,明白了其中的原因.写下这篇文章,和大家分享有关CSS中层叠上下文.层叠等级.层叠顺序以及z-index相关的一整套技术细节. 如果存在什么错误或重要遗漏或者有…
什么是“层叠上下文” 层叠上下文(stacking context),是HTML中一个三维的概念.在CSS2.1规范中,每个盒模型的位置是三维的,分别是平面画布上的X轴,Y轴以及表示层叠的Z轴.一般情况下,元素在页面上沿X轴Y轴平铺,我们察觉不到它们在Z轴上的层叠关系.而一旦元素发生堆叠,这时就能发现某个元素可能覆盖了另一个元素或者被另一个元素覆盖. 什么是“层叠等级” 层叠等级(stacking level,叫“层叠级别”/“层叠水平”也行) 在同一个层叠上下文中,它描述定义的是该层叠上下文中…
前言 在编写css样式代码的时候,我们经常会遇到z-index属性的使用,我们可能只了解z-index能够提高元素的层级,并不知道具体是怎么实现的.本文就来总结一个由z-index 引发的层叠上下文和层叠顺序相关知识点,有了这方面的了解,才能减少开发中遇到的bug,同时这也是面试中经常遇到的问题. 正文 1.z-index 属性 通常情况下,html 页面被认为是二维的,相当于只有 x 和 y 轴,因为文本.图像和其他元素被排列在页面上而不重叠.这种情况下只有一个渲染进程,所有元素都知道其他元素…
以下内容根据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属性指定: 在…
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉到生僻的 CSS 属性,赶紧去补习一下吧. 不断更新,不断更新,不断更新,重要的事情说三遍. 谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法 谈谈一些有趣的CSS题目(二)-- 从条纹边框的实现谈盒子模型 所有题目汇总在我的 Github . 3.层叠顺序(stacking level)与堆…
MDNThe stacking context 层叠上下文是HTML元素的三维概念,这些HTML元素在一条假想的相对于面向(电脑屏幕的)视窗或者网页的用户的z轴上延伸,HTML元素依据其自身属性按照优先级顺序占用层叠上下文的空间. 在之前的增加 z-index 的例子中, 某些 DIV 的渲染顺序是由 z-index 的值影响的.这是因为这些 DIV 具有 使他们形成一个层叠上下文  的特殊属性. 文档中的层叠上下文由满足以下任意一个条件的元素形成: 根元素 (HTML), z-index 值不…
网上有很多这方面的教程,但不是苦涩难懂就是从哪copy过来的,反正很长一段时间我是没看懂,时间长了也没打算去研究了,主要原因是,基本上很少会遇到那些问题(所以说啊,要是没有研究精神的才懒得管它).但自从开始研究CSS以后就一发不可收拾,所以打算把CSS一系列的东西都给研究一遍,当然能研究懂自然是好的,不能就当自娱自乐了.话说这个层叠顺序和堆栈上下文没啥用对吧,你看我就是不学它,平时也没出什么问题. -- 想让它出问题也很简单,不过既然你都说没用了,也就不打算告诉你了. 本篇属于短话长说型,前半部…
简介 在考虑到两个元素可能重叠的情况下,层叠顺序决定了那个元素在前面,那个元素在后面,这是针对普通元素而言.而层叠上下文和块级格式化上下文 (BFC) 一样,基本上也是由一些 CSS 属性创建的,它单独作为一个体系,也就是说内容的层叠顺序是以容器的层叠顺序为基准的,而与容器外部元素的层叠顺序无关,层叠上下文的创建可以分为以下三类: (1) 页面根元素天生具有层叠上下文,称为根层叠上下文 (2) "z-index" 为数值的定位元素拥有自己的层叠上下文,数值越大,层叠顺序越高 (3) 某…
层叠上下文是 HTML 中的一个三维的概念,每个层叠上下文中都有一套元素的层叠排列顺序.页面根元素天生具有层叠上下文,所以整个页面处于一个“层叠结界”中. 层叠上下文的创建: 页面根元素:html z-index 值为数值的定位元素 其他 css 属性 opacity 不是 1 transform 不是 none flex,z-index 不是 auto 层叠上下文中的排列规则,从下到上: background/border 负 z-index block 块状水平盒子 float 浮动盒子 i…