仔细检查粘性位置行为的差异
MDN 文档将粘性定位描述为一个属性,该属性将元素从相对位置转换为固定位置一次超过了定义的阈值。然而,在实践中,它的行为有所不同。这种差异源于对这些状态实现顺序的误解。
根据 MDN,粘性位置元素最初的行为类似于相对位置元素,直到超过阈值。然而,在指定了bottom:0的上下文中,在初始状态下已经超过了阈值。结果,元素直接进入其固定位置并保持原样,直到元素的位置距离视口底部超过 0px。
了解粘性位置状态
Position:sticky 有两种不同的状态:
- 相对状态: 元素的行为类似于相对定位的对象。
- 固定状态: 元素粘附在视口的固定位置。
初始状态由元素的位置和定义的阈值确定。在bottom:0的情况下,阈值立即被超过,导致初始固定状态。当视口滚动时,元素将保持固定,直到距底部边缘的距离大于 0px。此时,它恢复到其相对状态。
说明行为
考虑以下代码片段:
body { height:150vh; margin:0; display:flex; flex-direction:column; border:2px solid; margin:50px; } .b { margin-top:auto; position:sticky; bottom:0; } .a { position:sticky; top:0; }
<div class="a"> I will start relative then I will be fixed </div> <div class="b"> I will start fixed then I will be relative </div>
top:0 的元素 A 最初将表现为相对行为,并在到达视口顶部时转换为固定。元素 B,底部:0,将立即从固定位置开始,并在距视口底部的距离超过 0px 时过渡到相对位置。
以上是为什么粘性定位的行为与 MDN 文档描述的不同?的详细内容。更多信息请关注PHP中文网其他相关文章!

这是我们在形式可访问性上进行的小型系列中的第三篇文章。如果您错过了第二篇文章,请查看“以:focus-visible的管理用户焦点”。在

本教程演示了使用智能表单框架创建外观专业的JavaScript表单(注意:不再可用)。 尽管框架本身不可用,但原理和技术仍然与其他形式的建筑商相关。

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。