用途:

z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

该属性设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显示区的轴。

注意:

z-index 属性值可以是负的, 如果为正数,则离用户更近,为负数则表示离用户更远。

z-index 仅能在定位元素上奏效(position:relative/absolute/fixed;)

这个属性不会作用于窗口控件,如select对象。

可能的属性值:

描述
auto 默认。堆叠顺序与父元素相等。
number 设置元素的堆叠顺序。
inherit 规定应该从父元素继承 z-index 属性的值,任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

不使用 z-index时堆叠顺序

不使用z-index的情况,也是默认的情况,即所有元素都不用z-index时,堆叠顺序如下(序号越大优先级越高):

  1. 根元素(即HTML元素)的background和borders
  2. 正常流中非定位后代元素
  3. 已定位后代元素

即所有定位元素的优先级高于非定位元素,

但非定位元素和非定位元素之间和 定位元素和定位元素之间的顺序取决于HTML文档出现顺序, 靠后的优先

浮动z-index堆叠顺序

浮动元素z-index位置介于非定位元素定位元素之间, 堆叠顺序如下(序号越大优先级越高):

  1. 根元素(即HTML元素)的背景和border
  2. 正常流中非定位后代元素
  3. 浮动元素
  4. 正常流中inline后代元素
  5. 已定位后代元素

​​​​​​​​​​​​​​

浮动元素之间是不会出现z-index重叠的

非定位元素和非定位元素之间和 定位元素和定位元素之间的顺序同上取决于HTML文档出现顺序, 靠后的优先

z-index元素之间的堆叠顺序

再次强调z-index只适用于已经定位的元素(即position:relative/absolute/fixed)

简单来说就是z-index的值越大优先级越高越靠上, 但是事实上没这么简单

子元素的z-index值只在父元素范围内有效,什么意思呢?

每一个定位元素都归属于一个stacking context。根元素形成root stacking context,而其他的stacking context则由定位元素产生(此定位元素的z-index被定义一个非auto的z-index值),定位子元素会以这个local stacking context为参考,用相同的规则来决定层叠顺序。

当stacking context一样的时候,就用z-index的值来决定怎样显示,如果z-index也相同(即stack level相同),则按照档中后来者居上的原则(back-to-front )的顺序来层叠。

举个例子:

定位元素A(z-index:100)里面有定位元素A1(z-index:300),而定位元素B和元素A兄弟关系(z-index:200)。你会发现无论A1的z-index是多大,也会被z-index是200的B所覆盖,因为A的z-index只有100。

z-index的堆叠顺序是比较复杂的, 本篇只介绍一些简单的堆叠顺序, 推荐一个比较详细的说明:

https://www.cnblogs.com/starof/p/4424926.html

CSS----z-index 属性详解相关推荐

  1. (图文详细)最通俗易懂的CSS 浮动float属性详解

    (图文详细)最通俗易懂的CSS 浮动float属性详解 声明:本文属于搬砖大神的文章到自己的博客上,原文地址为:https://www.cnblogs.com/iyangyuan/archive/20 ...

  2. CSS中line-height属性详解(CSS之四)

    CSS中line-height属性详解 基本概念 line-height,又称行高,指的是两行文字基线之间的距离,又可以称为这行文字所占的高度. 图中两行基线之间的距离就是行高,基线相关可以查看CSS ...

  3. DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)

    css中cursor属性详解-鼠标移到图片变换鼠标形状 语法:  cursor : auto | all-scroll | col-resize| crosshair | default | hand ...

  4. css动画相关属性详解

    css动画相关属性详解 文章目录 css动画相关属性详解 什么是CSS动画? 一.@keyframes规则 二.延迟动画-animation-delay 三.设置动画应运行多少次animation-i ...

  5. CSS中float属性详解

    首先我们了解到,CSS网页布局的原理,就是按照HTML代码中对象声明的顺序,以流布局的方式来显示它,而流布局就不得不说到float浮动技术..在HTML中的所有对象,默认分为两种:块元素(block ...

  6. CSS中margin属性详解

    margin属性概述 margin是CSS层叠样式表中用来规定围绕在元素边框周围空白区域范围的属性. 该接受任何长度单位,可以是像素.英寸.毫米或 em. 相关属性 margin 可以单独改变元素的上 ...

  7. css 的 hover属性详解

    css 的 hover 属性是一种伪类选择器,它可以用来在鼠标悬停在某个元素上时改变该元素或其子元素.同级元素.相邻元素的样式 .hover 属性可以应用于任何元素,不仅仅是链接 .使用 hover ...

  8. css中reset属性详解,css中如何使用counter-reset属性

    css中如何使用counter-reset属性 发布时间:2020-09-23 14:26:58 来源:亿速云 阅读:83 作者:小新 这篇文章主要介绍css中如何使用counter-reset属性, ...

  9. html css 文本 字体属性详解

    文本.字体属性 文本属性 color 为字体颜色 font-style 用于打开和关闭斜体文本 font-weight 为字体设置粗细程度 font-size 为文字指定大小 font-family ...

  10. 前端CSS input type属性详解

    input在前端中使我们需要熟悉使用的一个标签,input中type属性值不止text一个. 1.首先是最常用的 text <input type="text" placeh ...

最新文章

  1. LeetCode: 108. Convert Sorted Array to Binary Search Tree
  2. Ubuntu下安装Node.js
  3. 【项目管理】各种常用工具图表说明和示例
  4. .net SerialPort
  5. 报告老板:这次的缓存事故是这样的...
  6. Redis-集合(Set)基础
  7. 【知了堂学习笔记】数据库连接池简介,以及Eclipse中C3p0连接池的简单运用
  8. mysql子查询sysdate_MySQL T6 数据库操作——查询(三)高级查询
  9. Matlab函数——dct2
  10. 银行科技岗位 笔试 专业方向重点 + 面试一般问题
  11. 程序猿推荐:仿微信下拉录制视频源码分享
  12. 搭建PHP网站开发环境
  13. Bmob后端云实现无后端开发APP
  14. iterative-mergesort
  15. 计算机主板的i o芯片坏了,主板芯片坏了电脑还能开机吗?
  16. 字节LastDay,告别十个月的实习生活,流水账与一些思考
  17. 万圣节html代码大全,基于Jquery实现万圣节快乐特效
  18. 快递100快递java_快递100 java 示例API 返回结果乱码 之替代方案
  19. 检测网页是否打开开发者工具(检测F12)
  20. 《计算机组成原理》课程学习(7)——第3篇 中央处理器——第7章 指令系统

热门文章

  1. 三步搞定【MySql插入中文字符显示???】
  2. DnsApi简单探索(4) DNS_QUERY_CANCEL struct 及其他
  3. 汉城大学学生口中的韩国IT产业战略
  4. 《脱颖而出——成功网店经营之道》一导读
  5. 【工具下载】软件下载汇总
  6. Python 制作《小说阅读器》,源码及打包程序
  7. 踏上天路之旅 寻找心灵净化圣地
  8. 强烈推荐口才与幽默全集,看完了,受益匪浅
  9. 超励志!杭电第六次打入“ACM/ICPC”全球总决赛!
  10. android one指纹解锁,Android下的全键盘情怀 黑莓KEYone体验