首页 > web前端 > css教程 > 为什么 `position: Sticky` 和 `bottom: 0` 的行为与 MDN 的描述相反?

为什么 `position: Sticky` 和 `bottom: 0` 的行为与 MDN 的描述相反?

Patricia Arquette
发布: 2024-11-21 19:38:13
原创
513 人浏览过

Why Does `position: sticky` with `bottom: 0` Behave Opposite to MDN's Description?

position: Sticky with Bottom: 0 的相反行为

当指定position: Sticky with Bottom: 0 时,其行为与定义不同由 MDN 提供。与描述不同的是,元素最初被视为相对定位,直到超过阈值并变得固定,而指定 Bottom: 0 时则相反。

在提供的代码示例中:

<footer>
  <div class="footer"></div>
</footer>
登录后复制
footer {
  position: sticky;
  bottom: 0;
}
登录后复制

MDN 规定页脚元素首先应该相对定位,直到它距离视口底部移动小于 0px。然而,观察到的行为是相反的:

  • 向下滚动时: 页脚开始时为固定定位,然后当页脚底部到达距底部 0px 时变为相对定位
  • 向上滚动时: 页脚开始时为相对定位,然后在以下情况下变为固定定位页脚底部距离视口底部超过 0px。

相反行为的原因

理解这种行为的关键在于MDN 定义的措辞:“视为相对位置元素直到指定的阈值是超出。”

这意味着初始位置由 HTML 结构和到指定阈值的距离确定。在bottom: 0的情况下,页面加载时页脚已经位于视口的底部。因此,它开始于“固定”状态,因为已经超过了阈值(距离底部 0px)。

结论

因此,在指定位置时: Sticky with Bottom: 0,元素最初将被固定定位,并在元素移过视口底部时过渡到相对位置。此行为与 MDN 文档中描述的行为相反,因为初始位置由 HTML 结构和与指定阈值的接近程度决定。

以上是为什么 `position: Sticky` 和 `bottom: 0` 的行为与 MDN 的描述相反?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板