static为默认定位,不脱离文档流,不支持偏移;2. relative相对自身原位置偏移,仍占文档流空间;3. absolute脱离文档流,相对于最近已定位祖先定位;4. fixed相对于视口固定,不随滚动移动;5. sticky在滚动到阈值时由relative变为fixed,常用于表头吸附。

在HTML中,元素的定位通过CSS的position属性来设置。常用的定位方式有static、relative、absolute、fixed和sticky。它们决定了元素在页面中的布局行为。
1. position: static(默认定位)
特点:元素按照正常的文档流排列,不支持top、bottom、left、right偏移属性。
- 设置
top: 20px;等样式无效。- 不脱离文档流,不影响其他元素位置。
2. position: relative(相对定位)
特点:元素相对于它原本在文档流中的位置进行偏移,但仍然占据原始空间。
- 使用top、right、bottom、left移动元素。- 不脱离文档流,其他元素仍按其原来位置布局。
- 常用于作为绝对定位元素的“参照父容器”。
- 示例:
position: relative; top: 10px; left: 20px;3. position: absolute(绝对定位)
特点:元素脱离文档流,相对于最近的已定位祖先元素(即position为relative、absolute、fixed或sticky)进行定位。
立即学习“前端免费学习笔记(深入)”;
- 若没有已定位的祖先,则相对于初始包含块(通常是视口)。- 完全脱离文档流,不占据空间,可能覆盖其他元素。
- 常用于弹窗、下拉菜单、图层叠加等场景。
4. position: fixed(固定定位)
特点:元素脱离文档流,相对于浏览器视口进行定位,不会随页面滚动而移动。
- 常用于导航栏、返回顶部按钮、悬浮广告等需要固定显示的元素。- 即使页面滚动,元素位置保持不变。
- 示例:
position: fixed; top: 0; right: 0; 可创建右上角固定按钮。5. position: sticky(粘性定位)
特点:结合了relative和fixed的特性,元素在滚动到特定阈值时“粘”在某个位置。
top、bottom等阈值才生效。- 在未达到阈值前表现为
relative,达到后表现为fixed。- 常用于表格表头、侧边栏跟随等效果。
- 示例:
position: sticky; top: 10px;基本上就这些。掌握每种定位的使用场景,能更灵活地控制页面布局。关键是理解“参考点”和“是否脱离文档流”。











