【问题标题】:iOS5 iPhone Safari - stop native scrollbar from disappearingiOS5 iPhone Safari - 阻止本机滚动条消失
【发布时间】:2012-03-05 23:41:02
【问题描述】:

我正在为 iPhone 设备开发网页。这个页面有一个div,其overflow属性设置如下,实现iOS5提供的原生滚动。

.nativeScroll {
   -webkit-overflow-scrolling:touch;
   overflow:auto;
   height:200px;
}

使用上述 CSS 样式,滚动效果很好。但是只有当用户触摸 div 并尝试滚动时才会出现滚动条。现在,当滚动条未触及时,问题就消失了,这是默认实现。在这种情况下,看起来 div 没有任何溢出内容。所以用户可能永远不会费心滚动。

那么是否有可能让滚动条无论div是否有触摸都始终可见?

谢谢

【问题讨论】:

  • 您是否尝试添加此规则:overflow-y: scroll;
  • 我试过“溢出:滚动”。但它不会使滚动条可见。

标签: iphone html css ios5 mobile-safari


【解决方案1】:

恕我直言,我认为没有“干净”的方法可以做到这一点。但是,您可以使用第三方库like iScroll.

在主页上,您可以找到对hideScrollbar 的引用。它的默认值为true。您可以根据需要将其设置为false

【讨论】:

  • 我们已经实现了 iscroll 库。由于这个库产生了很多副作用,我正试图摆脱它。主要问题之一是 iScroll 不允许像复制/粘贴这样的用户选择。
  • 您是否尝试添加此 css 规则 -webkit-user-select:none;-webkit-user-select:auto; 以允许复制/粘贴?
  • 如果我是正确的,iScroll 会阻止触摸启动时的默认行为。 groups.google.com/group/iscroll/browse_thread/thread/…
  • 这个at this location有一个解决方法,据说你所要做的就是你可以尝试从touchstart中删除preventdefault并将它放在touchmove上
  • 我已经为 iScroll4 尝试过该解决方案。但这没有帮助。感谢 Zakaria 的帮助。
猜你喜欢
  • 2013-05-25
  • 2019-06-30
  • 2013-02-21
  • 2015-05-29
  • 2017-07-18
  • 2017-02-09
  • 1970-01-01
  • 1970-01-01
  • 2012-09-07
相关资源
最近更新 更多