【问题标题】:Weird blocking on iOS Safari on scroll滚动时iOS Safari上的奇怪阻止
【发布时间】:2017-07-18 02:09:33
【问题描述】:

在尝试修复浏览器上某些幻灯片的一些问题时,我发现所有浏览器都可以正常工作,但 iOS 版 Safari 却不行。

令人惊讶的是,它不会在 Mac Safari 的响应模式下发生,它只会发生在 iOS 上。

奇怪的行为是,一旦您到达页面底部,部分内容就会被覆盖。如果到达底部后再次滚动,您现在就可以滚动了。如果您此时向上滚动,也会发生同样的情况。

可重现的最小测试用例:

html,
body,
main {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}


#test {
  height: 100vh;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

p {
  padding: 20px 0;
}

标记是这样的:

<body>
  <div id="test">
   <p>Lots of p</p>
   <p>Lots of p</p>
   <p>Lots of p</p>
  </div>
</body>

具有可重现案例的 JSBin 是 this。有谁知道这里发生了什么以及如何解决它?

【问题讨论】:

  • 我也有同样的问题!有什么解决办法吗?

标签: html ios css safari mobile-safari


【解决方案1】:

我遇到了同样的问题,显然这是由于 '100vh' 和 ios safari 的错误。一旦我更改为“100%”,一切都很好,具体取决于您需要在哪里使用视口高度,但这可能并不总是可行的。

参考:http://webdesignerwall.com/tutorials/css-fix-for-ios-vh-unit-bug

虽然其他网站似乎暗示这可能不再是一个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 2019-10-31
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多