📚前端面试题速记
Q9

说一下 position 定位的几种方式和区别?

速记答案(30 秒)

static:默认,按正常文档流。relative:相对自身原位置偏移,仍占空间。absolute:相对最近非 static 祖先定位,脱离文档流。fixed:相对视口定位,脱离文档流。sticky:在一定范围内跟随滚动,达到阈值后粘住。

📖 详细讲解

标准面试回答(推荐记住)

position 有五个值。static 是默认值,按正常文档流排列。relative 是相对定位,相对于自身原始位置偏移,但仍然占据原来的文档流空间。absolute 是绝对定位,相对于最近的非 static 祖先元素定位,完全脱离文档流。fixed 是固定定位,相对于视口定位,脱离文档流,常用于吸顶导航或悬浮按钮。sticky 是粘性定位,在一定范围内跟随滚动,当滚动到指定阈值后像 fixed 一样粘住。

五种定位对比

参照物 文档流 常用场景
static 在流内 默认
relative 自身原位置 在流内 微调、作为定位父级
absolute 定位祖先 脱离 弹窗、下拉菜单
fixed 视口 脱离 吸顶导航、悬浮按钮
sticky 视口+容器 在流内 表头固定、侧边栏

面试要点

  • 理解每种定位的参照物
  • 知道哪些会脱离文档流
  • 掌握 sticky 的使用条件

💻 代码示例

sticky 粘性定位
🎨 效果预览