1、z-index基础

  z-index含义:指定了元素及其子元素的”z顺序“,而”z顺序“可以决定元素的覆盖顺序。z-index值越大越在上面。

  z-index值:auto(默认值);integer(整数值);inherit(继承)。

  z-index基本特性:①支持负值;②支持CSS3 animation动画;③在CSS2.1时代,需要和定位元素配合使用。

2、z-index与定位元素

  z-index值越大越在上面。

  如果定位元素z-index发生嵌套:祖先优先原则,前提是祖先的z-index值是数值,不是auto

3、层叠上下文与层叠水平

  层叠上下文:是HTML元素中的一个三维概念,表示元素在z轴上的层叠表现。

  具有层叠上下文的元素:①页面根元素天生具有层叠上下文,称之为”根层叠上下文“;②z-index值为数值的定位元素也具有层叠上下文;③其他属性

  层叠水平:层叠上下文的每个元素都有一个层叠水平,决定了同一个层叠上下文中元素在z轴上的显示顺序。遵循“后来居上”和“谁大谁上”的层叠准则。层叠水平和z-index不是同一个东西,普通元素也有层叠水平。

  层叠上下文特性:①层叠上下文可以嵌套,组合成一个分层次的层叠上下文;②每个层叠上下文和兄弟元素独立,当进行层叠变化或渲染的时候,只需要考虑后代元素;③每个层叠上下文是自成体系的,当元素的内容被层叠后,整个元素被认为是在父层的层叠顺序中。

4、层叠顺序

  含义:元素发生层叠时候有着特定的垂直显示顺序。

  著名的7阶层叠水平:

  

5、z-index与层叠上下文

  ⑴ 从层叠顺序上讲,定位元素默认z-index:auto可以看成是z-index:0,但是从层叠上下文来讲,两者却有着本质的差异;

  ⑵ z-index不为auto的元素会创建层叠上下文;

  ⑶ z-index层叠顺序的比较止步于父级层叠上下文。

  为何定位元素会覆盖普通元素:具有定位属性的元素,z-index值为auto可以看为0,z-index:auto的层叠顺序>inline水平盒子。

  z-index与创建层叠上下文:z-index不是auto的情况下,元素会创建层叠上下文。(IE8+)

  z-index受限于层叠上下文:父元素z-index为数值的情况下,会优先展现层叠顺序。

6、其他属性与层叠上下文

  其他参与层叠上下文的属性:①z-index值不为auto的flex项(父元素display:flex|inline-flex);②元素的opacity值不是1;③元素的transform值不是none;④元素mix-blend-mode值不是normal;⑤元素的filter值不是none;⑥元素的isolation值是isolate;⑦position:fix声明;⑧will-change指定的属性值为上面任意一个;⑨元素的-webkit-overflow-scrolling设为touch。

7、z-index与其他属性层叠上下文

  不支持z-index的层叠上下文元素的层叠顺序均是z-index:auto级别:

  

  依赖z-index的层叠上下文的层叠顺序却决于z-index值。

8、z-index相关实践分享

  最小化影响原则:

  

  不犯二准则:

  

  组件层级计数器:

  

  通过JS获得body下子元素的最大z-index值。

  负值z-index与可访问性隐藏:

    可访问性隐藏:人肉眼不可见,但是辅助设备可以识别。

    

转载于:https://www.cnblogs.com/tinyTea/p/7201520.html

CSS深入理解学习笔记之z-index相关推荐

  1. CSS深入理解学习笔记之vertical-align

    1.vertical-align基本认识 支持的属性值: ①线类:baseline(默认),top,middle,bottom ②文本类:text-top,text-bottom ③上标下标类:sub ...

  2. CSS深入理解学习笔记之overflow

    1.Overflow基本属性 overflow:visible(默认)/hidden/scroll/auto/inherit; visible:超出部分可见. hidden:超出部分隐藏. scrol ...

  3. 狂神css3笔记,【CSS】CSS3学习笔记(一)——选择器

    ✨CSS 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS不 ...

  4. HTML、CSS、JavaScript学习笔记 图文并茂 案例详实(再次系统学习-持续更新)

    HTML学习笔记 2020/7/11 P1~P31 HTML基础知识点 2020/7/12 P31~P92 P31~P61 HTML基础 P62~P92 CSS基础 2020/7/13 P93~P11 ...

  5. HTML、CSS、JavaScript 学习笔记

    HTML-CSS 块级元素和内联元素 HTML div 和span HTML框架 HTML 符号实体参考手册 HTML 速查列表 HTML 基本文档 基本标签Basic Tags 文本格式化Forma ...

  6. 〖前端开发〗HTML/CSS基础知识学习笔记

    经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构:HTML文件的固定结构:<html><head>...</head><b ...

  7. html+css+js+jQuery学习笔记

    Css中"."可以选择包含两个样式的东西","可以都选上 img可以把div撑开 只设置宽 或者高那么将按照比列缩放扩大 Outline:none;//inpu ...

  8. HTML+CSS前端开发学习笔记

    HTML+CSS 学习路线: 1.HTML 1.1基础概念 web标准: 基本结构标签: html骨架: <!DOCTYPE>标签:文档类型的声明标签 <!DOCTYPE html& ...

  9. css flex属性学习笔记

    参考文献 flex: 1 0calc((100% / min(var(--cx-active-view), var(--cx-max-views))) -var(--cx-split-gutter)) ...

最新文章

  1. 逼疯懒癌:“机器学习100天大作战”正式开始!
  2. ppk on JavaScript第二章:背景(完结篇)
  3. 常见b2c网站购物车的设计
  4. 【任务脚本】京jd东jd炸年兽活动任务全自动程序
  5. python lambda表达式的使用方法(匿名函数)
  6. 【ARM】Tiny4412裸板编程之ADC
  7. python利用myqr库生成二维码
  8. XDeepFM 模型,字节跳动短视频内容理解和推荐系统
  9. oracle11g创建修改删除表
  10. OLT操作命令集及排障
  11. 常用端口号\协议\服务对照表
  12. Docker Registry搭建私有镜像仓库(干货)http/https
  13. unit怎么发音_unitl是什么意思
  14. 【每日一P】简单实用的调色原理
  15. Kali linux配置
  16. c语言自己走时间的程序,c语言用哪些语句能实现时间暂停?比方说按某一个键使时间暂停,再按一次使时间继续。...
  17. SAP FICO 付款及清账解析
  18. 百度地图实现普通地图、卫星图、三维图、混合图(卫星图+路网)
  19. 【大气湍流强弱的划分】
  20. python爬取今日头条后台数据_爬虫爬取今日头条数据代码实现

热门文章

  1. 2021-11-18哈希值
  2. MyEclipse 2017(英文版)安装教程
  3. 对比DFT程序与FFT程序的效率
  4. 数学之路(2)-数据分析-R基础(4)
  5. mysql日期格式化季度_Mysql按周,按月,按日,按小时分组统计数据
  6. mysql 组复制和传统复制_MySQL的GTID复制与传统复制的相互切换
  7. 数字信号处理学习笔记(三)|时域离散系统的网络结构
  8. 数据结构与算法(C++)– 队列(Queue)
  9. 工业用微型计算机(22)-指令系统(18)
  10. 可能是全网写特征工程最通透的...