更多关于z-index

在我以前的认知里,在一些定位元素中(position为absolute、fixed或者relative),z-index越大就显示在越前面。比如下面的例子:

wrap1、wrap2、wrap3和box的position均为absolute,其中box为wrap1的子元素,z-index为10。

<div class="wrap wrap1"><div class="box"></div></div>
<div class="wrap wrap2"></div>
<div class="wrap wrap3">
.wrap{ position: absolute;}
.box{z-index: 1; }

接下来我们给wrap1添加opacity属性;

.wrap1{opacity: .99;}

结果如下图所示,box不再显示在最上面,而是被wrap2所遮挡。

.wrap1{opacity: .99;}

所有元素均为absolute定位,box的z-index为10,为什么没有显示在最上面。这里就涉及到一个“堆叠上下文”,下文将堆叠上下文简称为层。

每一个层都有唯一的根节点。当一个元素创建一个层,那么它的所有子元素都会受到父元素的堆叠顺序影响。意味着如果一个元素位于一个最低位置的层,那你z-index设置得再大,它也不会出现在其它层元素的上面。

哪些情况会产生新的层:

  • 当一个元素位于HTML文档的最外层(<html>元素)
  • 当一个元素被定位了并且拥有一个z-index值(不为auto)
  • 当一个元素被设置了opacity,transforms, filters, css-regions, paged media等属性。

最初只有box符合产生一个新层的条件,同时它的z-index最大,因此它显示在最上面。但是当我们将wrap1的opacity设置为0.99的时候,就是产生了一个新的层,这个层的z-index和wrap2、wrap3的z-index相同。按照元素书写顺序,wrap1应该显示在最下面。这个时候虽然box的z-index的值最大,但是只能在wrap1产生的层起作用。对wrap1之外的元素没有影响。

下次当你使用z-index达不到效果时候,记得检查一下它的堆叠上下文环境哦^V^。demo戳这里:http://runjs.cn/detail/tlwoy4ew

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 12:11:35

更多关于z-index的相关文章

WEB环境相关技术、配置

一.简介(基本概念) web开发中基本概念和用到的技术: A - AJAX AJAX 全称为" Asynchronous JavaScript and XML "(异步 JavaScript 和 XML ),是一种创建交互式网页应用的 网页开发 技术.根据Ajax提出者Jesse James Garrett建议,AJAX: 使用 XHTML + CSS 来表示信息:使用 JavaScript 操作 DOM (Document Object Model)进行动态显示及交互:使用 XML

【JavaScript】你知道吗?Web的26项基本概念和技术

Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行.今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每项对应一个概念或者技术. A — AJAX AJAX 全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.根据Ajax提出者Jesse James Garrett建议,AJAX: 使用XHTML+CSS来表示信息: 使用Java

你知道吗?Web的26项基本概念和技术

这是我在网上看到一篇不错的文章,拿出来与大家分享一下:希望有所帮助 作者: 小鱼  来源: 前端里  发布时间: 2014-08-01 22:56  阅读: 10477 次  推荐: 51   原文链接   [收藏] Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行.今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每项对应一个概念或者技术. A - AJAX AJAX 全称为"Asynchronous JavaScript

Ogre2.0 全新功能打造新3D引擎

不知当初是在那看到,说是Ogre2.0浪费了一个版本号,当时也没多想,以为没多大更新,一直到现在想做一个编辑器时,忽然想到要看下最新版本的更新,不看不知道,一看吓一跳,所以说,网络上的话少信,你不认识别人,别人张嘴就来,对别人也没损失,还可以装B下,靠. 从现在Ogre2.1的代码来看,大约总结下,更新包含去掉过多的设计模式,SoA的数据结构(用于SIMD,DOD),新的线程模式,新的渲染流程与场景更新,新的材质管理系统,新的模型格式,新的合成器方案,更新是全方面的,可以说,Ogre2.x与Og

矿业大学论文模板

main.tex 1 \documentclass[preprint,authoryear,PhD]{cumtthesis} 2 \usepackage{fancyvrb}%----------------------------------------------------------用于代码排版 3 \DefineVerbatimEnvironment{shell}{Verbatim}% 4 {frame=single,framerule=0.3mm,rulecolor=\color{re

Shadow Map阴影贴图技术之探 【转】

这两天勉勉强强把一个shadowmap的demo做出来了.参考资料多,苦头可不少.Shadow Map技术是目前与Shadow Volume技术并行的传统阴影渲染技术,而且在游戏领域可谓占很大优势.本篇是第一辑.——ZwqXin.comShadow Map的原理很简单,但是实现起来到处是雷.当然这只是我的体会.恩,不过就是“从光源处看场景,那些看不见的区域全部都该是阴影”.很容易看出,与针对 特定模型的Shadow Volume不同,Shadow Map是针对场景的.这就是说,对一个光源应用一次

three.js 源码注释(二十六)Core/BufferAttribute.js

商域无疆 (http://blog.csdn.net/omni360/) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:商域无疆 -  本博客专注于 敏捷开发及移动和物联设备研究:数据可视化.GOLANG.Html5.WEBGL.THREE.JS,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 俺也是刚开始学,好多地儿肯定不对还请见谅. 以下代码是THREE.JS 源码文件中Core/BufferAttribute.js文件的注释. 更多更新在 : https

Web的26项基本概念和技术

Web的26项基本概念和技术 Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行.今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每项对应一个概念或者技术. A — AJAX AJAX 全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.根据Ajax提出者Jesse James Garrett建议,AJAX: 使用XHTML+C

CSS:CSS Positioning(定位)

ylbtech-CSS:CSS Positioning(定位) 1.返回顶部 1. CSS Positioning(定位) position 属性指定了元素的定位类型. position 属性的四个值: static relative fixed absolute 元素可以使用的顶部,底部,左侧和右侧属性定位.然而,这些属性无法工作,除非是先设定position属性.他们也有不同的工作方式,这取决于定位方法. static 定位 HTML元素的默认值,即没有定位,元素出现在正常的流中. 静态定位

SSE图像算法优化系列二十二:优化龚元浩博士的曲率滤波算法,达到约500 MPixels/Sec的单次迭代速度。

  2015年龚博士的曲率滤波算法刚出来的时候,在图像处理界也曾引起不小的轰动,特别是其所说的算法的简洁性,以及算法的效果.执行效率等方面较其他算法均有一定的优势,我在该算法刚出来时也曾经有关注,不过那个时候看到是迭代的算法,而且迭代的次数还蛮多了,就觉得算法应该不会太快,所以就放弃了对其进一步优化.最近,又偶尔一次碰触到该文章和代码,感觉还是有蛮大的优化空间的,所以抽空简单的实现他的算法.   该算法作者已经完全开源,项目地址见:https://github.com/YuanhaoGong/C