HTML 与 CSS · 单选题 · 第 6 题
前端与全栈开发面试 · 第 6 题
关于 position: sticky,下列说法正确的是?
- A滚动到阈值之前像相对定位,越过阈值后在最近的滚动祖先内固定
- B始终相对于视口固定,和 position: fixed 的效果完全相同
- C会让元素脱离文档流,不再占据原来所在位置的布局空间
- D相对于最近的已定位祖先元素进行定位,效果和 absolute 相同
答案
A A. 滚动到阈值之前像相对定位,越过阈值后在最近的滚动祖先内固定
解析
sticky 元素在正常文档流中占位,需要设置 top 等阈值才生效,被限制在父容器范围内,父容器滚出视口它也跟着走。常见的「不生效」原因有:没设 top,父元素或祖先设置了 overflow: hidden,或者父容器高度和元素一样高没有滚动空间。