当两组元素发生嵌套关系时,前一个元素的父级设置 auto,可以避免祖先原则
如果定位元素z-index没有发生嵌套:
1.后来居上的准则,2.哪个大,哪个上
后来居上例子
层叠上下文的生成盒子层叠水平是0
祖先优先原则不起作用了??!!!!
祖先优先例子
z-index只有与定位元素配合使用,如果定位元素设置了z-index并且发生覆盖关系遵循的原则:1.后来居上准则 2.z-index值大的在上;
如果定位元素发生了嵌套(里面有定位元素,外面也有定位元素)遵循“”祖先优先原则“”他的层级由最祖先的层级元素决定(前提:z-index是数值,不是auto)
z-index应该优先查看祖先
z-index 祖先优先
z-index与CSS定位属性:
1、定位元素只有设置为relative、absolute、fixed、sticky才有用

2、若定位元素z-index没有嵌套
1)后来居上:不设置其它属性时,通常后面的元素覆盖前面的
2)哪个大,哪个上,z-index大的覆盖小的

3、若定位元素发生嵌套
祖先优先原则:前提是z-index设置为确定的数值,此时需要比较祖先元素z-index的大小来确定哪个元素在上面



如果都是数字,发生嵌套,祖先优先,但祖先是auto就没用了。
z-index只对定位元素起作用
定位元素z-index没有发生嵌套
1.后来居上的准则
2.哪个大,哪个上
定位元素z-index发生嵌套
1.祖先优先原则
前提:z-index是数值,不是auto
css2.1 (z-index: auto) 当前层叠上下文的生成盒子层叠水平是0,盒子(除非是根元素)不会创建一个新的层叠上下文
层叠上下文
层叠水平
发生了嵌套
没有发生嵌套
2.1 本节内容:
同DIV平级下的Z-index,后来居上&大者居上
不同DIV(发生嵌套),祖先优先比较Z-index;
父容器若Z-index:auto;则子项目的Z-index起作用;
(z-index:auto)当前层叠上下文的生成盒子层叠水平是0,盒子(除非是根元素)不会创建一个新的层叠上下文。
z-index的属性是有两种方式执行的,其一就是当是在css3版本的会不用定位属性的,但是在css2.1是要用定位属性来写。
如果定位元素z-index没有嵌套:
1、后来居上的准则
2、哪个大,哪个上
如果定位元素有嵌套:
3、祖先优先原则
CSS2.1 (z-index:auto)当前层叠上下文的生成盒子层叠水平是0.盒子(除非是跟元素)不会创建一个新的层叠上下文。
position 默认为 static 另外还有 relative absolute fixed sticky
如果定位元素z-index没有发生嵌套:
1、后来居上的准则;
2、哪个大,哪个上;
如果定位元素z-index发生嵌套:
1、祖先优先原则;(前提 值是数值,不是auto)
2、
z-index与定位元素
祖先auto的不同
CSS2.1:(z-index: auto)当前层叠上下文的生成盒子层叠水平是0,盒子(除非是根元素)不会创建一个新的层叠上下文。