是否可以让 scroll-margin-top 在 Safari 中工作?

jfc*_*jfc 5 html css safari

我在锚点上使用 scroll-margin-top 为我的粘性标题添加空间,但它在 Safari 中不受支持。

这些文档在这里 - https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin指出这个错误 -

滚动边距不适用于片段目标或 scrollIntoView() 的滚动,请参阅错误 189265。

备用名称 使用非标准名称:scroll-snap-margin

有没有办法解决这个错误?

小智 2

这是迄今为止我发现的唯一适用于 Safari 和 Firefox 的解决方案...Safari 特定的选择器。这并不理想,因为在 Safari 元素中使用填充会限制您可以使用的样式,但它胜过了我尝试过的所有其他方式。

.anchor { scroll-margin-top: 130px; }
.anchor::-webkit-full-page-media, .anchor:future, .anchor:root .safari_only { padding-top: 130px;}
Run Code Online (Sandbox Code Playgroud)