【问题标题】:scrolling doesn't work on IPhone滚动在 iPhone 上不起作用
【发布时间】:2018-05-04 03:32:06
【问题描述】:

在所有设备上滚动都有效,但在 iPhone 上无效

@media only screen and (-webkit-min-device-pixel-ratio: 0) {
@supports (-webkit-overflow-scrolling: touch) {

body {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust:none;
  height: 1300px!important;
  position: relative!important;
  background-image: radial-gradient(circle at center , #0c505f, #053540 );
  color: #0c505f;
  width: 95%!important;
}

【问题讨论】:

  • 对于那些从搜索到这里的人,请确保您没有将主包装器(如#app)作为弹性容器。这会破坏 iOS/iPadOS 上的滚动。相反,我使用了position: fixed;,它起作用了,尽管我确信它可能是相对的或绝对的。我也用过height: 100vh; overflow-y: auto;

标签: ios css iphone scroll webkit


【解决方案1】:

当您将内容动态添加到 div 时 -webkit-溢出滚动:触摸;超过 div 的高度,它会变得破碎且无法滚动。您可以通过不断拥有来解决此问题 一个内部 div,触发滚动条,因为它的 1px 高于 外部div: - (Patrick Muff)

.outer {
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  /* More properties for a fixed height ... */
}

.inner {
  height: calc(100% + 1px);
}

【讨论】:

  • @alina-bayron 这有用吗?
  • 谢谢你的回答,但这对我没有帮助:(你认为我应该有多少身高?
  • @AlinaBayron 很遗憾听到这个消息。帮我给你正确的答案。你能发布最小的 HTML 以便我可以复制这个问题吗?
  • 设置内部元素的高度或最小高度不起作用。
  • 嗯,最后我发现如果我们将OUTER的touchemove监听器设置为e.preventDefault(),那么INNER滚动就不起作用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-13
  • 1970-01-01
相关资源
最近更新 更多