0Pricing
CSS Academy · 课时

绝对定位与包含块

相对于最近的已定位祖先元素对元素进行绝对定位。

绝对定位与包含块 是 CoddyKit 上的免费 CSS Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 CSS Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 CSS Academy 课程共包含 4 节课。

position: absolute

绝对定位元素会脱离正常文档流。其他元素会认为它不存在。它会相对于最近的已定位祖先进行定位。

包含块

绝对定位元素的包含块是其最近的、position 值不是 static 的祖先。如果不存在这样的祖先,该元素会相对于初始包含块(视口)进行定位。

设置包含块

最常见的模式是:为父元素添加 position: relative,以包含绝对定位的子元素。

<div class="card">Card content<span class="badge">Badge</span></div>

absolute 与偏移属性

使用绝对定位时,top/right/bottom/left 会从包含块的内边距边缘开始测量。

<div class="tooltip-wrap">Hover target<span class="tooltip">I'm below the parent</span></div>

使用 absolute 居中

绝对定位元素的经典居中技术:

<div class="center-wrap"><div class="centered">Perfectly centered</div></div>

absolute 元素的宽度和高度

绝对定位元素默认会根据内容收缩尺寸(除非设置了宽度/高度)。它们不再像块级元素一样拉伸到容器的完整宽度。

使用所有边缘进行拉伸

将四个边缘都设置为 0,可以使绝对定位元素拉伸并填满其包含块:

<div class="stretch-wrap"><div class="overlay">Overlay covers all edges</div></div>

inset 简写属性

inset 属性是 top、right、bottom、left 的简写形式:

<div class="cover-wrap"><div class="full-cover"></div></div>

使用 z-index 进行层叠

绝对定位元素会参与层叠上下文。请使用 z-index 控制重叠的绝对定位元素中哪个显示在上方。

<div class="stack-wrap"><div class="box-a">Behind</div><div class="tooltip">On top (z-index:100)</div></div>

常见陷阱:忘记父元素

如果忘记为父元素添加 position: relative,绝对子元素会相对于最近的已定位祖先进行定位——而这个祖先通常是视口。请始终检查包含块。

Flex/Grid 中的 absolute

Flex 或 Grid 容器不是自动成为已定位元素。您仍然需要显式添加 position: relative,使其成为绝对子元素的包含块。

快速检查

如果绝对定位元素的所有祖先的 position 都是 static,该元素会被放置在哪里?

回顾

绝对定位元素会脱离文档流,并相对于最近的非静态祖先进行定位。请始终为父元素添加 position: relative 以控制放置位置。使用 inset: 0 可使绝对定位元素拉伸并填满其容器。

常见问题解答

「绝对定位与包含块」课时是免费的吗?

是的 — 「绝对定位与包含块」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 CSS Academy 课程的其余内容,请升级到 CoddyKit PRO。 CSS Academy 课程共包含 4 节课。

「绝对定位与包含块」这节课中我会学到什么?

相对于最近的已定位祖先元素对元素进行绝对定位。 你通过在浏览器中直接运行的动手代码来练习 CSS Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 CSS Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 CSS Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「绝对定位与包含块」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 CSS Academy 课中编写并运行代码吗?

能。每节 CSS Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 静态定位与相对定位
  2. 绝对定位与包含块
  3. 固定定位与粘性定位
  4. Z-index 与堆叠上下文
← 返回 CSS Academy