CSS position 函数详解

掌握 CSS 定位的核心:static、relative、absolute、fixed 和 sticky。通过清晰解释与可视化示例,助你轻松驾驭网页布局。

什么是 position?

position 是 CSS 中用于控制元素定位方式的重要属性。它决定了元素如何在文档流中放置,以及是否受其他元素影响。

共有五种常用取值:static(默认)、relativeabsolutefixedsticky

五种定位方式详解

1. static(静态定位)

这是所有元素的默认定位方式。元素按照正常的文档流排列,toprightbottomleftz-index 属性无效。

static
div { position: static; }

2. relative(相对定位)

元素仍处于正常文档流中,但可以通过 topleft 等属性相对于其原始位置进行偏移。不会影响其他元素的位置。

relative
div { position: relative; top: 20px; left: 20px; }

3. absolute(绝对定位)

元素脱离文档流,相对于最近的已定位(非 static)祖先元素进行定位。若无,则相对于初始包含块(通常是 <body>)。

absolute
div { position: absolute; top: 30px; right: 30px; }

4. fixed(固定定位)

元素脱离文档流,相对于视口(viewport)定位,即使页面滚动也不会移动。常用于导航栏、悬浮按钮等。

(页面右下角有一个 fixed 元素,请滚动查看效果)

div { position: fixed; bottom: 20px; left: 20px; }

5. sticky(粘性定位)

结合了 relativefixed 的特点。元素在滚动到特定阈值前表现为 relative,之后变为 fixed

滚动此区域查看 sticky 效果 ↓

sticky
div { position: sticky; top: 10px; }

使用建议

fixed