css之z-index深度解析
(几个重点概念解析)
一、层叠上下文
- 层叠上下文:如果一个元素拥有层叠上下文。那么就代表这个元素在页面的z轴上是有定位的。
- 什么元素拥有 层叠上下文:a.根元素、b.z-index值为数值的元素、c.其他属性。
- 层叠上下文的特性:a.层叠上下文可以嵌套、b.层叠上下文与兄弟元素独立,仅后代元素受影响、c.层叠上下文的后代层叠水平不影响其他。
二、层叠水平
- 什么元素拥有层叠水平:所有元素都有层叠水平。层叠上下文中的每一个元素都有层叠水平。
- 层叠水平的基础排列规则(不具备其他特殊属性时):a.后来居上、b.谁大谁上(z-index值得大小)
三、层叠顺序(以下层叠顺序按照由内向外排列,即z轴上的值越来越大,越靠近用户)
- 层叠上下文的background与border。
- 负z-index。
- block。
- float。
- inline、inline-block。
- z-index:auto/0。不依赖z-index的层叠上下文
- z-index的值为正整数。
四、z-index
- 什么元素可以应用z-index属性:定位的元素(relative、absolute、fixed、sticky)
- 应用z-index属性的元素如何层叠:1.当定位元素平级、无嵌套时:a.后来居上、b.谁大谁上。2.有嵌套:以祖先为准
- 特殊性:z-index值为auto的定位元素不会创建新的层叠上下文(除非是根元素,根元素天生具有层叠上下文)。只有当z-index值为数值时,才会创建。
五、我的理解:
页面中元素的层叠情况是由层叠顺序这个规则决定的。在最初的页面里,所有元素按照默认的情况依次排列。而z-index属性像是一个外来户,打破最初的默认情况,但是层叠规则依旧不变。新的层叠层级仍然要按照旧的层叠规则进行排列。
六、感谢:
本博客内容来自于对张鑫旭大神博客的学习与慕课网张鑫旭大神对于z-index的讲解的理解。
张鑫旭大神博文地址为:http://www.zhangxinxu.com/wordpress/?p=5115
css之z-index深度解析的更多相关文章
- mybatis 3.x源码深度解析与最佳实践(最完整原创)
mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...
- [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析
[WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...
- Kafka深度解析
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/01/02/Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅 ...
- SpringMVC 源码深度解析<context:component-scan>(扫描和注冊的注解Bean)
我们在SpringMVC开发项目中,有的用注解和XML配置Bean,这两种都各有自己的优势,数据源配置比較经经常使用XML配置.控制层依赖的service比較经经常使用注解等(在部署时比較不会改变的) ...
- kubernetes之configmap,深度解析mountPath,subPath,key,path的关系和作用
参考:https://www.cnblogs.com/breezey/p/6582082.html 我们知道,在几乎所有的应用开发中,都会涉及到配置文件的变更,比如说在web的程序中,需要连接数据库, ...
- 深度解析 Vue 响应式原理
深度解析 Vue 响应式原理 该文章内容节选自团队的开源项目 InterviewMap.项目目前内容包含了 JS.网络.浏览器相关.性能优化.安全.框架.Git.数据结构.算法等内容,无论是基础还是进 ...
- VueRouter 源码深度解析
VueRouter 源码深度解析 该文章内容节选自团队的开源项目 InterviewMap.项目目前内容包含了 JS.网络.浏览器相关.性能优化.安全.框架.Git.数据结构.算法等内容,无论是基础还 ...
- Spark RDD深度解析-RDD计算流程
Spark RDD深度解析-RDD计算流程 摘要 RDD(Resilient Distributed Datasets)是Spark的核心数据结构,所有数据计算操作均基于该结构进行,包括Spark ...
- Kafka深度解析(如何在producer中指定partition)(转)
原文链接:Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能 ...
- 程序员收藏必看系列:深度解析MySQL优化(二)
程序员收藏必看系列:深度解析MySQL优化(一) 性能优化建议 下面会从3个不同方面给出一些优化建议.但请等等,还有一句忠告要先送给你:不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而 ...
随机推荐
- springmvc问题汇总
1. IncompatibleClassChangeError in spring mvc Failed to read candidate component class....... ...
- Oracle Pl/SQL编程基础
Pl/SQL简介 提高应用程序的运行性能, 提供模块化的程序设计, 自定义标示符, 具有过程语言控制结构, 良好的兼容性, 处理运行错误. Pl/SQL语言基础 sql是关系数据库的基本操作语言. s ...
- Jquery的外部链接和编写样式
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></ ...
- Equivalent Strings (字符串相等?)
Equivalent Strings E - 暴力求解.DFS Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I ...
- DIV+CSS两种盒子模型
盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型.他们对盒子模型的解释各不相同, 先来看看我们熟悉的标准盒子模型: 从上图可以看到标准 W3C 盒子模型的范围包括 margin.bord ...
- 转:mysql5.6.12 for Linux安装
原文链接:http://mmicky.blog.163.com/blog/static/1502901542013635317349/ 1:上www.mysql.org下载64位版本mysql5.6. ...
- mobox:推进企业文档管理走向信息化之路
随着“大数据”时代的到来,越来越多的人们对数据库管理信息抱有认可态度,这是近年来信息化发展的必然结果.企业作为推进社会经济发展的主力军,也必然要紧跟大数据时代潮流,利用计算机技术全面普及企业的信息化管 ...
- osvdb
http://www.91ri.org/3117.html http://linux.cn/article-5332-1-rss.html http://www.freebuf.com/article ...
- Qt一步一步实现插件调用(附源码)
最近手里几个项目都采用插件的方式进行开发工作,这里记录一下实现方法,给需要的同学一个参考, 在linux系统和window系统都能成功编译通过,不废话直接步骤 第一步:建立插件原型 新建一个Qt项目, ...
- 《how to design programs》13章用list构造表
使用cons构造一个包含多个元素的表十分麻烦,因此scheme提供了list操作,该操作接受任意量的值作为输入以创建一个表,下面是扩展的语法: <prm>=list 扩展的scheme值的 ...