(几个重点概念解析)

一、层叠上下文

  1. 层叠上下文:如果一个元素拥有层叠上下文。那么就代表这个元素在页面的z轴上是有定位的。
  2. 什么元素拥有 层叠上下文:a.根元素、b.z-index值为数值的元素、c.其他属性。
  3. 层叠上下文的特性:a.层叠上下文可以嵌套、b.层叠上下文与兄弟元素独立,仅后代元素受影响、c.层叠上下文的后代层叠水平不影响其他。

二、层叠水平

  1. 什么元素拥有层叠水平:所有元素都有层叠水平。层叠上下文中的每一个元素都有层叠水平。
  2. 层叠水平的基础排列规则(不具备其他特殊属性时):a.后来居上、b.谁大谁上(z-index值得大小)

三、层叠顺序(以下层叠顺序按照由内向外排列,即z轴上的值越来越大,越靠近用户)

  1. 层叠上下文的background与border。
  2. 负z-index。
  3. block。
  4. float。
  5. inline、inline-block。
  6. z-index:auto/0。不依赖z-index的层叠上下文
  7. z-index的值为正整数。

四、z-index

  1. 什么元素可以应用z-index属性:定位的元素(relative、absolute、fixed、sticky)
  2. 应用z-index属性的元素如何层叠:1.当定位元素平级、无嵌套时:a.后来居上、b.谁大谁上。2.有嵌套:以祖先为准
  3. 特殊性:z-index值为auto的定位元素不会创建新的层叠上下文(除非是根元素,根元素天生具有层叠上下文)。只有当z-index值为数值时,才会创建。

五、我的理解:

  页面中元素的层叠情况是由层叠顺序这个规则决定的。在最初的页面里,所有元素按照默认的情况依次排列。而z-index属性像是一个外来户,打破最初的默认情况,但是层叠规则依旧不变。新的层叠层级仍然要按照旧的层叠规则进行排列。

六、感谢:

  本博客内容来自于对张鑫旭大神博客的学习与慕课网张鑫旭大神对于z-index的讲解的理解。

  张鑫旭大神博文地址为:http://www.zhangxinxu.com/wordpress/?p=5115

css之z-index深度解析的更多相关文章

  1. mybatis 3.x源码深度解析与最佳实践(最完整原创)

    mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...

  2. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  3. Kafka深度解析

    本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/01/02/Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅 ...

  4. SpringMVC 源码深度解析<context:component-scan>(扫描和注冊的注解Bean)

    我们在SpringMVC开发项目中,有的用注解和XML配置Bean,这两种都各有自己的优势,数据源配置比較经经常使用XML配置.控制层依赖的service比較经经常使用注解等(在部署时比較不会改变的) ...

  5. kubernetes之configmap,深度解析mountPath,subPath,key,path的关系和作用

    参考:https://www.cnblogs.com/breezey/p/6582082.html 我们知道,在几乎所有的应用开发中,都会涉及到配置文件的变更,比如说在web的程序中,需要连接数据库, ...

  6. 深度解析 Vue 响应式原理

    深度解析 Vue 响应式原理 该文章内容节选自团队的开源项目 InterviewMap.项目目前内容包含了 JS.网络.浏览器相关.性能优化.安全.框架.Git.数据结构.算法等内容,无论是基础还是进 ...

  7. VueRouter 源码深度解析

    VueRouter 源码深度解析 该文章内容节选自团队的开源项目 InterviewMap.项目目前内容包含了 JS.网络.浏览器相关.性能优化.安全.框架.Git.数据结构.算法等内容,无论是基础还 ...

  8. Spark RDD深度解析-RDD计算流程

    Spark RDD深度解析-RDD计算流程 摘要  RDD(Resilient Distributed Datasets)是Spark的核心数据结构,所有数据计算操作均基于该结构进行,包括Spark ...

  9. Kafka深度解析(如何在producer中指定partition)(转)

    原文链接:Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能 ...

  10. 程序员收藏必看系列:深度解析MySQL优化(二)

    程序员收藏必看系列:深度解析MySQL优化(一) 性能优化建议 下面会从3个不同方面给出一些优化建议.但请等等,还有一句忠告要先送给你:不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而 ...

随机推荐

  1. (转载)div最小宽度和自适应的实现方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. jquery animate函数实现

    jquery animate 函数 实现动画效果 参数一 比如高度宽度 之类的:'-=50' 参数二 速度之类 <html xmlns="http://www.w3.org/1999/ ...

  3. CodeForces 474B(标记用法)

    CodeForces 474B Time Limit:1000MS Memory Limit:262144KB   64bit IO Format:%I64d & %I64u Descript ...

  4. select查询的性能

    为什么忘记commit也会造成select查询的性能问题 今天遇到一个很有意思的问题,一个开发人员反馈在测试服务器ORACLE数据库执行的一条简单SQL语句非常缓慢,他写的一个SQL没有返回任何数据, ...

  5. Scut:缓存管理

    Scut 的缓存管理看起来还是蛮复杂的.   redis 本身就有内存缓存+持久化的作用,Scut还是自己封装了一层内存缓存+Redis缓存+持久化. . 这是一个缩略版本的结构图. 1. 上半部分是 ...

  6. 反射-b

    Class pkClass=NSClassFromString(@"PKAddPassesViewController");    if (pkClass) {        NS ...

  7. 【Hybrid App】一个产品经理眼中的PhoneGap Vs. AppCan

    首先在写这篇文章前,必须先申明一下,本人是技术出身,对HTML技术及手机客户端都有过编程经验,只是出于工作岗位的变动,便没有再具体代码工作,以下文章涉及的中间件的基本代码实现及前期的API使用,都是自 ...

  8. 产生文件命令touch,echo,cat<<EOF>test,less,more,tail,head

    . 输出命令 echo,cat,管道(|),tee,重定向(>, >>)等 . 创建一个文件:用 touch.echo.cat.tee, 重定向(>, >>)等 [ ...

  9. Centos6.5 qt 安装

    1,centos linux系统必须预先以安装x Server(KDE or GNOME) 2,wget http://download.qt-project.org/official_release ...

  10. sql(SqlServer)编程基本语法

    一.定义变量 --简单赋值 declare @a int set @a=5 print @a   --使用select语句赋值 declare @user1 nvarchar(50) select @ ...