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个不同方面给出一些优化建议.但请等等,还有一句忠告要先送给你:不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而 ... 
随机推荐
- Linux安装Monaco字体
			Linux安装字体的方式其实很简单,就是调用 fc-cache -f -v 命令,其实我们可以什么都不添加直接调用这个命令可以看到它会去/usr/share/fonts/truetype等目录以及你自 ... 
- matplotlib curve.py
			import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 2*np.pi, 100) sinX = np.sin(x) ... 
- python中read、readline和readlines的区别
			read 读取整个文件 readline 读取下一行 readlines 读取整个文件到一个迭代器以供我们遍历(读取到一个list中,以供使用,比较方便). 123.txt内容 ... 
- DNS解析原理
			1.在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析. 2.如果hosts里没有这个域名的映射,则 ... 
- Git之路——Git的使用
			centos6.6安装git2.4 第一安装编译环境: yum -y install zlib-devel openssl-devel perl cpio expat-devel gettext-de ... 
- 针对上一篇文章中的代码,想出的重构方案(python实现)
			#!/usr/bin/env python class Processor: def __init__(self, processor): self.processor = processor def ... 
- Fetcher类的工作流程
			Fetcher类工作流程: FileInputFormat.addInputPath(job, new Path(segment, CrawlDatum.GENERATE_DIR_NAME)); jo ... 
- Cracking the coding interview--Q2.4
			Write code to partition a linked list around a value x, such that all nodes less than xcome before a ... 
- COJ 0342 逆序对(一)
			传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=312 试题描述: 给你一个大小为N的int数组A.请你统计有多少数对(Ai, ... 
- 【模拟】HDU 5774 Where Amazing Happens
			题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5774 题目大意: 已知1946~2015每一年赢得人是谁,给n个名字,问赢了多少次. 题目思路: [ ... 
