【发布时间】:2018-04-16 04:12:27
【问题描述】:
我有一个元素,我正在使用粘性位置进行粘性:
#header {
position: sticky;
width: 100vw;
top: 0;
}
<app-header id="header"></app-header>
这很好用,但我意识到如果我使用:
body {
overflow-x: hidden;
}
这打破了粘性,我需要将body overflow-x 设置为hidden,我该如何解决这个问题,只有 CSS 解决方案,没有 JS 解决方案?
【问题讨论】:
-
请注意,按照规范,粘性在溢出的元素内部不起作用:隐藏或自动。另外,
position: sticky是一个实验性 API,不应该在生产中使用,只是提醒一下(如果您还没有意识到这一点)请参阅: developer.mozilla.org/en-US/docs/Web/CSS/position#sticky -
是的,不知道,谢谢您指出这一点
-
我能够解决此问题的唯一方法是使用
overflow-x: initial;之类的东西取消设置overflow-x。一年后,position: sticky不再是实验性的,并且可以跨浏览器工作(减去好的 ol' IE):)
标签: html css css-position