菜鸟-创作你的创作

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

好的,阿杰,我给你整理一份 CSS 中五种定位方式(position)详解,包括定义、特点、应用场景和对比表,方便理解和实际应用。


CSS 定位(Position)详解:Static / Relative / Absolute / Fixed / Sticky

1️⃣ static(默认定位)

定义

特点

应用

p {
  position: static; /* 默认,可省略 */
}


2️⃣ relative(相对定位)

定义

特点

应用

.box {
  position: relative;
  top: 10px;
  left: 20px;
}


3️⃣ absolute(绝对定位)

定义

特点

应用

.container {
  position: relative;
}
.badge {
  position: absolute;
  top: 0;
  right: 0;
}


4️⃣ fixed(固定定位)

定义

特点

应用

.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
}


5️⃣ sticky(粘性定位)

定义

特点

应用

thead th {
  position: sticky;
  top: 0;
  background: #fff;
}


6️⃣ 五种定位对比表

属性占用文档流偏移行为参考点典型应用
static无效文档流普通段落、标题
relative相对自身偏移自身原位置微调、父容器参考
absolute相对父元素偏移最近已定位父元素弹窗、角标、图标位置
fixed相对视口偏移视口顶部/底部固定导航、悬浮按钮
sticky滚动到阈值后固定最近滚动祖先容器表头粘性、滚动菜单

🔹 总结应用建议

  1. static:默认使用,普通文档流布局。
  2. relative:微调元素位置、为绝对定位子元素做参考。
  3. absolute:脱离文档流自由定位,常做弹窗、角标。
  4. fixed:脱离文档流相对于视口固定,适合导航/按钮。
  5. sticky:结合 relative 和 fixed,做粘性导航、表头。
退出移动版