在IOS8 Safari中,有一个新的位置修复错误.
如果您聚焦固定面板中的文本区域,Safari会将您滚动到页面底部.
这使得所有类型的UI都无法使用,因为您无法将文本输入textareas而无需将页面一直向下滚动并丢失位置.
有没有办法干净地解决这个bug?
#a {
height: 10000px;
background: linear-gradient(red, blue);
}
#b {
position: fixed;
bottom: 20px;
left: 10%;
width: 100%;
height: 300px;
}
textarea {
width: 80%;
height: 300px;
}
Run Code Online (Sandbox Code Playgroud)
<html>
<body>
<div id="a"></div>
<div id="b"><textarea></textarea></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) iOS上有一个可滚动div的问题.当尝试通过触摸输入外滚动时,它滚动没有任何问题但是当我尝试滚动并触摸输入以开始滚动时(有很多机会它发生,因为它是一个带有大量输入的div )它滚动整个窗口而不是滚动div.我在桌面或Android中没有这个问题.我发现了一个类似的问题(iOS HTML输入标记停止在可滚动元素中滚动),但它也没有任何答案.虽然我找不到任何好的解决方案,但我决定touchmove在用户触摸输入时阻止该事件,但这并不是我想要的.
也许有人已经面临这个问题,可以提供帮助.我非常感谢,提前谢谢.
我之前一直在使用iScroll插件,但是想要删除原生行为.
最初的实施正在使用
webkit-overflow-scrolling: auto;
Run Code Online (Sandbox Code Playgroud)
不过我把它更新为......
webkit-overflow-scrolling: touch
Run Code Online (Sandbox Code Playgroud)
..启用触摸滚动的运动/惯性.
这个问题是导航中包含的列表项在滚动时完全消失,并且只有在动量休息后才返回.
我正在为主要的os平台开发一个Phonegap应用程序,目前正在iOS 5的iPad上测试它.我正在使用jquery mobile.因此对于大屏幕,我使用了splitview jquery移动插件.http://asyraf9.github.com/jquery-mobile/
我放了一个
$scrollArea.css('overflow-y','auto');
$scrollArea.css('-webkit-overflow-scrolling','touch');
Run Code Online (Sandbox Code Playgroud)
使页面滚动而不是像插件使用的那样使用iscroll.现在发生的是,当用户滚动页面时,页面没有加载/重新绘制.我有100个项目的列表,我滚动它们.
滚动本身并不慢,但滚动后新的列表视图行需要几乎整整一秒才会弹出视图.在此之前它是一个空白区域.
在观察时,我可以看到列表项在滚动停止之前不会进入视图.(动量滚动)
我该怎么做才能使这项工作正常工作?同样的事情在Android选项卡上工作正常.请帮助.
编辑:如果我只使用
$scrollArea.css('overflow-y','auto');
Run Code Online (Sandbox Code Playgroud)
然后我不会在滚动后面对这个瞬间空白区域的问题,但滚动速度非常缓慢.
请不要建议使用iScroll.已经尝试过了.我用-webkit-overflow-scrolling得到的速度要慢得多,而且我无法使用它.
我用来position: fixed在我的移动Web应用程序上创建一个固定的顶部导航菜单.
添加后-webkit-overflow-scrolling: touch,滚动顺利进行.但是,顶部菜单在滚动期间消失.它仅在滚动停止后显示.
我搜索了许多解决方案,例如CSS3属性webkit-overflow-scrolling:触摸ERROR和iOS5图像在使用webkit-overflow-scrolling:touch滚动时消失.但是,给定的解决方案对我不起作用.请查看此示例:http://jsbin.com/woxuwihuzu/12/(从iPhone 5c Chrome/Firefox访问).
我错过了什么吗?
我有一个带有更宽的子元素的div,它被设置为-webkit-overflow-scrolling:touch.
在页面加载时,在横向方向上,要水平滚动div,您必须垂直向上和向下移动div.所以向上和向下移动滚动向右滚动.切换到纵向然后返回横向方向滚动按预期工作 - 水平触摸移动水平滚动.使用-webkit-overflow-scrolling设置为auto我没有看到这个问题.谷歌搜索没有结果,有没有其他人遇到过这种行为?
我的css:
#stream-container-outer {
width: 925px;
margin: 0 auto;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
#stream-container {
width: 900%;
}
Run Code Online (Sandbox Code Playgroud) 我的网站内容处于绝对位置div,可以填满整个屏幕.这个div上的滚动通常是笨重的,因为它不是原生动量滚动.解?附加-webkit-overflow-scrolling: touch;到div.
动量滚动现在可以工作,但是当我向下滚动页面时,div元素没有显示出来.控制台显示没有错误,实际页面没有任何问题,但个别帖子(div的)没有显示.这是一个例子:

任何人都可以在他们的iPad上确认这一点,或建议修复?我宁愿不使用可滚动性的东西.可能是iOS6测试版引起了这种情况,但我想要放心.
您可以在iPad上查看此站点
如果有人要我解释我的书签,我很乐意这样做.