Firefox Mobile and height 100vh

问题描述 投票:1回答:1

[在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>
html css
1个回答
1
投票

我试图通过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

© www.soinside.com 2019 - 2024. All rights reserved.