美文网首页
层叠上下文

层叠上下文

作者: 流离之人 | 来源:发表于2016-03-17 22:10 被阅读82次

http://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/

概念

层叠上下文,英文称作”stacking context”. 是HTML中的一个三维的概念。层叠水平和CSS的z-index属性不能混为一谈,某些情况下z-index确实可以影响层叠水平。但是,只限于定位元素以及flex盒子的孩子元素;而层叠水平所有的元素都存在。

在默认情况下(是在css3之前)

inline-block盒子>float盒子>block盒子=(z-index:auto)>负z-index
以上可以理解为,装饰属性在最下,布局属性在上,内容属性在最上面。

display:flex|inline-flex与层叠上下文

<pre><div class="box">
<div>
<img src="mm1.jpg">
</div>
</div></pre>

<pre>
.box { }
.box > div {
background-color: blue; z-index: 1;
} /* 此时该div是普通元素,z-index无效 /
.box > div > img {
position: relative; z-index: -1; right: -150px;
} /
注意这里是负值z-index */
</pre>
这里只看Img的负z-index,所以在默认盒子下面

<pre><div class="box">
<div>
<img src="mm1.jpg">
</div>
</div></pre>

<pre>
.box { display:flex }
.box > div {
background-color: blue; z-index: 1;
} /* 此时该div是层叠上下文,z-index为1 /
.box > div > img {
position: relative; z-index: -1; right: -150px;
} /
注意这里是负值z-index */
</pre>
这里都是层叠了,父级div成了层叠背景。

opacity与层叠上下文

当opacity小于1时,就变成层叠上下文。遵循上面规则,父级div成了层叠背景

** transform与层叠上下文**

添加transform,也会变成层叠上下文

总结:
  1. 首先关心的是是否是层叠元素,如果是层叠元素,就按照层叠规则(图)作比较。不是层叠元素的,就在图中默认情况。
  2. 在css3,以下会让元素变成层叠元素:
  • opacity小于1
  • 新的filter属性
  • transform
  • 父级元素为flex属性
  1. 比大小值,同级看顺序。

相关文章

  • z-index和层叠上下文

    一、 层叠上下文、层叠等级和层叠顺序 层叠上下文(stacking context)层叠上下文是HTML中一个三维...

  • 深入z-index

    涉及“层叠顺序(stacking order)”,“层叠上下文(stacking context)”,“层叠水平(...

  • z-index part3

    不支持z-index的层叠上下文元素的层叠顺序均是z-index: auto级别 依赖z-index的层叠上下文元...

  • 层叠上下文

    层叠准则: 谁大谁上: 当有识别的z-index值,层叠大的在上 后来居上: 当层叠水平一致,层叠顺序相同的时候,...

  • 层叠上下文

    1.概念 stacking context网页中的元素级别不同,有z轴 2.层叠水平 普通元素的层叠水平优先由层叠...

  • 层叠上下文

    http://www.zhangxinxu.com/wordpress/2016/01/understand-cs...

  • 层叠上下文

    z-index:只对定位元素及 flex 元素的子元素有效 父元素的opacity值不为1,子元素即使设置了负的z...

  • 层叠上下文

    层叠顺序 内联元素和块级元素的层叠顺序 box1 边框的颜色比 box2 的颜色深,说明边框在背景的上层;box2...

  • 层叠上下文

    层叠顺序 说到层叠上下文要先引出一个层叠顺序的概念。CSS中所有的元素默认有以下的层叠顺序,如果是兄弟元素的话,默...

  • 层叠上下文

    什么是层叠上下文? 层叠上下文是HTML中的一个三维概念。可以简单的理解为一个元素如果具备某些特定CSS属性就会成...

网友评论

      本文标题:层叠上下文

      本文链接:https://www.haomeiwen.com/subject/krpclttx.html