层叠上下文-《CSS 世界》阅读笔记

2023-11-18

层叠规则

目录

z-index

在 CSS 世界中,z-index 属性只有和定位元素(position 不为 static 的元素)或 flex 盒子的子元素才会发挥作用。

属性值正负均可。


什么是层叠上下文

层叠上下文(stacking context),是 HTML 中的一个三维的概念。

z 轴,表示用户与显示器之间不可见的垂直线,如图所示:

z 轴示意

层叠上下文是一个概念,与**块状格式化上下文(BFC)**类似。

可以将层叠上下文理解为一种层叠结界,自称一个小世界。这个小世界中可能有其他的层叠结界,其自身也可能处于其他的层叠结界中。


什么是层叠水平

层叠水平(stacking level),决定在同一层叠上下文元素在 z 轴上的显示顺序。

页面中所有的元素都有层叠水平,包括层叠上下文元素和普通元素。对于普通元素的层叠水平探讨只局限于当前层叠上下文中,普通元素的层叠水平无法突破上述提到的层叠结界。


层叠顺序

层叠顺序(stacking order),表示元素发生层叠时特定的垂直显示顺序。

层叠顺序是规则,层叠上下文和层叠水平是概念。

CSS 2.1 的层叠顺序规则图示

CSS 2.1 的层叠顺序规则

层叠顺序规则 3D 图示

层叠顺序规则 3D 图示

层叠顺序规则的补充说明

位于最下方的 background/border 特指层叠上下文元素的边框和背景色。每一个层叠顺序规则仅适用于当前层叠上下文元素的小世界。

inline 水平盒子,包括 inline/inline-block/inline-table 元素的层叠顺序,它们是同级别的。

单纯从层叠水平上看,z-index: 0 和 z-index: auto 可以看作是一样的。实际上,两者在层叠上下文领域有着根本性的差别。

对于仅声明 position: relative/absolute 的元素,其层叠顺序位于 z-index: auto 层。

为什么内联元素的层叠顺序要比浮动元素和块状元素高?

由图示的标注可以知晓。background/border 为装饰属性,浮动和块状元素一般用作布局,而内联元素大部分都是内容。而网页尤其重视内容。


层叠准则

  • 谁大谁上
    • 当具有明显的层叠水平标识时,如生效的 z-index 属性值,在同一层叠上下文领域内,层叠水平值大的元素覆盖较小的元素
  • 后来居上
    • 当元素的层叠水平一致、层叠顺序相同时,在 DOM 流中处于后面的元素会覆盖前面的元素。

层叠上下文的特性

  • 层叠上下文的层叠水平要比普通元素高
  • 层叠上下文可以阻断元素的混合模式
  • 层叠上下文可以嵌套,内部层叠上下文及其所有子元素均受制于外部的层叠上下文
  • 每个层叠上下文和兄弟元素独立,即当进行层叠变化或渲染时,只需要考虑后代元素即可
  • 每个层叠上下文是自称体系的,当元素发生层叠时,整个元素被认为是在父层叠上下文的层叠顺序中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

层叠上下文-《CSS 世界》阅读笔记 的相关文章

  • 根据窗口大小调整 div 及其内部内容的大小

    我已经查找了一百万种技术 但我无法让它发挥作用 我知道还有其他类似的帖子 如果它给任何人带来麻烦 我很抱歉 但我需要针对我的代码的具体说明 因为我很愚蠢 提前非常感谢 我希望 div 容器 contentContactBox 以及其中的所有
  • 使用特定 HTTP 方法链接到页面 (DELETE)

    如何像 Rails 那样链接到页面并让浏览器使用 DELETE 方法调用它 我试过 a href DELETE ME a 但不起作用 我使用 Node js 所以我可以用它来处理 DELETE 方法 你不能 链接只会触发 GET 请求 您可
  • 如何仅在单击子级时触发父级单击事件

    子级和父级都是可点击的 子级可以是带有 jQ uery 单击事件的链接或 div 当我点击子事件时 如何只触发父事件而不触发子事件 DOM 事件阶段 活动分为三个阶段 Capture 第一阶段是 捕获 其中从事件处理程序开始调用
  • 如何在 IPython 中设置 markdown 链接的基本 url?

    我很高兴地设置 在我的 IPython html 笔记本 IPython 0 12 的 Markdown 单元中 以便能够将链接缩写为 wiki documentation doc html 在 Markdown 单元格中 但这使得保存笔记
  • 显示居中的图像行

    我有一排三张图像 目前显示得很好 现在 我想在这三个图像的正下方显示另外两个图像 并且我希望它们居中 它看起来有点像一个颠倒的金字塔 无论我做什么 底行都保持左对齐 这是 css category width 176px font size
  • AngularJS 控制器等待响应(或设置回调)

    我有一个带有controllers js 和factories js 的AngularJS 应用程序 我喜欢用控制器中的值 我从工厂获得 做一些事情 我的问题是 当我访问这些值时它们是空的 我怎样才能等待回复 或者在哪里可以添加回调 Fla
  • 滚动效果:先慢后快

    我正在尝试创建滚动效果 当onclick事件被触发 我想要那个div1滚动到dev2 一开始应该慢 然后快 这是一个使用此效果的网站 http community saucony com kinvara3 http community sa
  • 对(静态)CSS 文件所做的更改未反映在 Django 开发服务器中

    我正在使用 Django 制作一个 Web 应用程序 但在将 CSS 文件 存储在我的应用程序的静态目录中 中所做的更改反映到开发服务器上时遇到了一些问题 需要明确的是 服务器能够访问静态文件 但是 它目前停留在我的 CSS 文件的旧版本上
  • 框架可以用什么代替?

    假设我有一个包含 50 个网页的网站 每个页面由 A Header 导航 左侧内容 右侧内容 Footer 不使用 Frames 服务器端编程 第三方工具和软件 构架 我需要将这 5 个部分的代码 HTML 标记 分别放入这 50 个页面中
  • 有效地获取下拉列表中的选定选项(XHTML Select 元素)

    背景 使用 XHTML Select 元素的下拉列表中有大量选项 数十个 我需要使用 JavaScript 检索所选选项 Problem 目前我正在使用 jQuery selectedCSS 选择器并且它按预期工作 但这种方法效率不高 因为
  • 输入和文本区域可以拖动吗?

    MDN 规范以及我能通过 Google 找到的每个网站都说所有 HTML 元素都可以拖动 然而 在实践中 我发现我无法拖动文本输入或文本区域 即使它们已被禁用 例如 使用以下代码 img src http www placehold it
  • 如何编辑 QProgressBar 的样式表

    我无法在我的应用程序中编辑进度条的颜色 仅编辑文本颜色 pyhton 3 9 PySide6 QT Creator 7 0 2 Python应用程序 https i stack imgur com 6hKFI png import sys
  • 放大 div 内的图像而不移动 div

    如何使图像在此 div 比例内 而不在悬停时进行实际的 div 缩放 所以我只想放大图像 这是代码 div img src some image div Use transform scale container display inlin
  • 如何修复连接的可排序对象位置错误的可拖动助手(部分由浮动/相对定位的父元素引起)?

    Preface 我遇到一个问题 当使用放置在浮动 相对定位的父元素中的可拖动元素 可排序元素时 可拖动帮助器偏移不正确 浮动父元素是 Bootstrap 列 其中多个可排序列表放置在一列中 可拖动列表放置在另一列中 Example 这是一个
  • 您最喜欢的 JS/CSS 下拉菜单是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 希望在网站上实现一个 只是好奇其他人都使用过什么以及他们有过什么样的体验 EDIT我也不是一个超级粉丝
  • 可以在 IE 中的表格行上添加渐变吗?

    当我将鼠标悬停在表格特定部分的表格行上时 我希望背景更改为线性渐变 CSS 很简单 tbody row links tr hover background typical multi browser linear gradient code
  • 检测 HTML5 视频何时结束

    如何检测 HTML5
  • HTML 嵌入对象具有灰色背景。可以透明吗?

    我使用带有开源插件的 Firefox 来播放视频 视频被 尽可能好地 缩放以适应嵌入对象的宽度和高度中定义的可用空间 但有时右侧和 或底部会有一点灰色边框 看来这不是我的父 div 的背景颜色 因为更改它根本没有效果 这是 HTML div
  • 如何防止 Safari 滚动溢出:隐藏的 iframe?

    使用 Safari 您可以通过设置 style overflow hide 来禁用大多数 iframe 滚动 在 iframe 上 但是 如果您单击 iframe 并移动鼠标 内容无论如何都会滚动 Example 滚动内容 html
  • CSS - 为什么我无法设置 元素的高度和宽度?

    我正在尝试使用以下 html 标记创建 css 按钮 a href access php class css button red Forgot password a 但它最终不会比中间的文本大 即使我已经设置了班级的高度和宽度 顺便说一句

随机推荐

  • 中国大陆网站TOP100

    1 新浪新闻中心 包括即日的国内外不同类型的新闻与评论 人物专题 图库 BR www sina com cn 2 Baidu com 全球最大中文搜索引擎 向人们提供简单 可依赖的信息获取方式 BR www baidu com 3 搜狐 资
  • VMware Vsphere-下

    18 创建资源池和vAPPs 主机右击可以看到 新建资源池 资源池里可以指定资源池所消耗的物理的cpu和内存 份额 预留 限制 资源池里面可以放虚拟机 资源池的作用 可以将几台虚拟机放进一个池 限制资源 这样就不会出现一个虚拟机抢占过多资源
  • vue3知识点:Suspense组件

    文章目录 五 新的组件 3 Suspense 案例 完整代码 本人其他相关文章链接 五 新的组件 3 Suspense 等待异步组件时渲染一些额外内容 让应用有更好的用户体验 使用步骤 第1步 异步引入组件 import defineAsy
  • 记录移动开发初探——用uniApp+sqlite仿XyKey实现密码管理记事本

    写在前面 最近刚准备上手移动开发 本着想要多端可用的原则 了解到了uniApp 大致扫完一遍文档 基本可以算是vue 微信小程序原生 对我来说基本0难度可直接进入开发 因此想着索性做一款简单的app来做更加深入的了解 就在这时候 朋友给我推
  • 在vscode中做实验出现的bug......

    1 python如何调用opencv中的saliency模块 如果你已经安装了opencv python的库 但是调用cv2 saliency方法时出现了如下的报错 module cv2 saliency has no attribute
  • (数据库链接池)spring内容复习7月16日笔记

    2023 07 16数据库连接池 数据库连接池是个容器 负责分配 管理数据库连接对象 Connection 它允许应用程序重复使用一个现有的数据库链接 而不是在重新建立一个 而且释放空闲时间超过最大空闲时间的链接 来避免因为没有释放链接而引
  • unity 设置image透明度_Unity透明效果-透明度测试

    在之前的记录中已经知道了透明度测试的原理 本节主要就在Unity中通过透明度测试实现透明效果进行实践 原理回顾 透明度测试采用一种 非舍即留 的机制 即 若某片元的透明度不满足条件 通常小于某个阈值 则舍弃 否则就按照不透明物体去处理 也就
  • unity 多人同屏处理

    一 把fbx的Optimize GameObject勾选上 会优化你模块的面数 不过好像有可能会引起别的问题 优化后和代码上的mesh数据对不上造成bug 二 由于每个sinnedmesh会产生一个drawcall 所以多人同屏时就会卡 针
  • SED系列教程

    1 易百 Sed教程 http www yiibai com sed sed branches html
  • vi指令的基本使用

    一 vi的基本概念 基本上vi可以分为三种状态 分别是命令模式 command mode 插入模式 Insert mode 和底行模式 last line mode 各模式的功能区分如下 1 命令行模式command mode 控制屏幕光标
  • unexpected EOF while parsing是什么意思

    unexpected EOF while parsing 意思是在解析的过程中遇到了意外的文件结束符 这通常表示程序的代码有语法错误 导致程序无法正常运行 这个错误的具体原因可能有很多 比如 在字符串中使用了单引号或双引号 但没有正确地将它
  • Linux 搭建 JumpServer 堡垒机

    跳板机概述 跳板机就是一台服务器 开发或运维人员在维护过程中首先要统一登录到这台服务器 然后再登录到目标设备进行维护和操作 跳板机缺点 没有实现对运维人员操作行为的控制和审计 使用跳板机的过程中还是会出现误操作 违规操作导致的事故 一旦出现
  • python下载文件暂停恢复_新技能 get —— Python 断点续传下载文件

    原博文 2017 03 24 12 44 from urllib request import urlretrieve import sys import os prev reported download percent None 首先定
  • Java复习-25-单例设计模式

    单例设计模式 目的 使用场景 在实际开发下 会存在一种情况 某一种类在程序的整个生命周期中 只需要实例化一次就足够了 例如 系统数据类 由于操作系统只有一个 因此在程序初始化时该类只需要实例化一次 之后的系统数据更改都是在这一个实例化对象中
  • sha256是什么算法,sha256的安全性,sha256算法详解

    一些朋友对密码学方面的知识不是很了解 什么sha1 sha256 sha512等等 这么多算法类似的算法可能会有一点混淆 尤其是对sha256不是很理解 本文整合了一些关于sha256的相关资料 针对sha256是什么算法 它的安全性如何
  • SSM商城项目实战:订单管理

    SSM商城项目实战 订单管理 在SSM商城项目中 订单管理是一个非常重要的功能模块 本文将详细介绍订单管理的实现思路和步骤代码 实现SSM商城项目中订单管理功能的思路如下 设计数据库表结构 根据订单管理的需求 设计订单表和订单明细表的结构
  • 5种IO流

    在 Unix网络编程 一书中提到了五种IO模型 分别是 阻塞IO 非阻塞IO 多路复用IO 信号驱动IO以及异步IO 下面就分别来介绍一下这5种IO模型的异同 1 阻塞IO模型 最传统的一种IO模型 即在读写数据过程中会发生阻塞现象 当用户
  • QuickHit小游戏代码实现

    首先先明确下这个小游戏的需求 1 根据输入速率和正确率将玩家分为不同级别 2 级别越高 一次显示的字符数越多 玩家正确输入一次的得分也越高 3 规定时间内完成规定次数的输入 正确率达到规定要求 则升级 玩家最高级别为6级 初始级别一律为1级
  • 4年.Net程序员转Java学习笔记(1)为什么要转

    本人在一个普通二线城市 在大学期间为通信工程专业 上课学的C 通过看师兄师姐留下来的视频以及百度自学了C 在学校里做了一些winForm项目 XXX管理系统 很水 BUG多 纯粹是自己做来玩的 界面设计 数据库 后端都是自己设计 毕业工作后
  • 层叠上下文-《CSS 世界》阅读笔记

    层叠规则 目录 层叠规则 目录 z index 什么是层叠上下文 什么是层叠水平 层叠顺序 层叠准则 层叠上下文的特性 笔者个人理解 层叠上下文的创建 定位元素与传统层叠上下文 层叠上下文与层叠顺序 z index 负值深入理解 z ind