[在Firefox Mobile中,如果块的高度为100vh,则在上下滚动页面时会看到抽搐。是否可以解决此问题?
html, body
{
padding: 0; margin: 0;
}
.block
{
height: 100vh;
background: blue;
}
我的html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Тест</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<div class="block"></div>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
<p>text</p>
</body>
</html>
我试图通过Codepen复制此代码,但未发现任何故障。尼斯和顺利。但是后来我将其部署在GitHub Pages上twitching。我最初的想法是,他们(Codepen)可能在头部添加了一些内容,但在那里没有找到任何内容。
但是,两者之间有什么区别?首先不会影响地址栏,而另一个会影响地址栏。其原因是Codepen在iframe中启动页面,因此不会触发滚动。
所以现在我们的目标是找到一种“冻结”地址栏的方法。
我们可以通过将所有内容包裹在div中来完成此操作:
<body>
<div id="wrapper">
...
</div>
</body>
</html>
然后将其添加到我们的CSS中:
@-moz-document url-prefix() {
#wrapper {
height: 100vh;
overflow-y: scroll;
}
}
由于其他浏览器在地址栏的动画方面没有问题,因此我们在CSS中使用了仅Firefox的属性。
你去。 Nice & smooth。