Javascript Safari中的单指滚动直到滚动完成才呈现html
在一个移动web应用程序中,我有一个div,可以使用新的花式webkit overflow滚动:touch滚动。唯一的问题是,仅当滚动结束时才会呈现内容。有没有办法让Mobile Safari(或者其他移动浏览器,比如Android中的浏览器)在单指滚动时呈现htmlJavascript Safari中的单指滚动直到滚动完成才呈现html,javascript,jquery,css,webkit,mobile-safari,Javascript,Jquery,Css,Webkit,Mobile Safari,在一个移动web应用程序中,我有一个div,可以使用新的花式webkit overflow滚动:touch滚动。唯一的问题是,仅当滚动结束时才会呈现内容。有没有办法让Mobile Safari(或者其他移动浏览器,比如Android中的浏览器)在单指滚动时呈现html .layer-content { position: absolute; top: 112px; bottom: 0; width: 100%; background: #e6e6e6; overflow-
.layer-content {
position: absolute;
top: 112px;
bottom: 0;
width: 100%;
background: #e6e6e6;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}
不是真的。这正是iPhone的工作方式。如果滚动,所有资源都将用于使滚动非常平滑,而不会显示新部件。您可能会通过将图层变大来愚弄浏览器,使其认为图层更大,并在您不想显示的零件顶部添加一个图层,但这并不适用于所有布局。我想就这样吧。用户已经习惯了它,因为普通页面也有同样的“渲染问题”。位置:绝对正在干扰渲染。在滚动停止之前,Mobile Safari不会呈现没有标准定位值的元素
如果位置为“自动”(默认值),Mobile Safari将在滚动时渲染元素。您可以使用硬件加速解决此问题。尝试将以下CSS添加到
中的元素。图层内容:
-webkit-transform: translate3d(0,0,0);
我敢肯定我刚刚解决了这个问题:
overflow-y:自动;
将其添加到滚动元素中
(可能只是overflow:auto;
也会根据您的需要工作。)不是真的。这正是iPhone的工作方式。如果滚动,所有资源都将用于使滚动非常平滑,而不会显示新部件。您可能会通过将图层变大来愚弄浏览器,使其认为图层更大,并在您不想显示的零件顶部添加一个图层,但这并不适用于所有布局。我想就这样吧。用户已经习惯了,因为普通页面也有同样的“渲染问题”。谢谢你,加文。这个适合我。有没有办法把你的评论作为这个问题的答案?这是正确的。有不同的方法来处理布局渲染(完整滚动、平铺滚动等,如果我没记错的话),例如,“位置”属性设置为“绝对”将使布局渲染变为较慢的方法。在某些移动设备中也会出现相同的行为,例如,当使用框阴影或CSS渐变时。