我正在向网页添加背景视频,并希望当用户滚动超过坐姿的高度(例如,保险杠)时避免视频移动。
通过添加以下css,我设法做到了:
body {
overflow: hidden;
}
main {
height: 100vh;
overflow: auto;
}
尽管此方法有效,但该网站在Firefox和Chrome上感觉更加僵硬,因为main
元素将没有body
所具有的滚动缓冲器。
是否有办法:
main
元素在Chrome或Firefox中查看此jsfiddle,并查看与Safari的区别。您可以在CSS部分中(取消)注释相关代码。
以下是一些不同行为的GIF:
我发现此错误可能是由页面上某些-webkit-transform
元素具有的fixed
属性引起的。
而且,我发现在该固定元素上设置此设置可能会有所帮助:
-webkit-transform: translateZ(0);
或者您也可以尝试
-webkit-transform:translateZ(1px);
-moz-transform:translateZ(1px);
-o-transform:translateZ(1px);
transform:translateZ(1px);