大内容,如表数千行的滚动DIV(见里面放的时候是被截断的CSS,IOS,iPad的,-webkit-溢出滚动:触摸错误,大量内容被切断 )
<div class="longList">
<!-- table with thousands of rows -->
</div>
CSS:
.longList {overflow: auto; height: 550px; margin: 0 auto; -webkit-overflow-scrolling: touch;}
我解决了这个以下http://johanbrook.com/browsers/native-momentum-scrolling-ios-5/经过一番研究。
因此,增加的位置是:固定的解决了这个问题,但生下了一个新的问题:该表是填补了引入位置前,整个页面宽度:固定的,加入位置之后,它停止这样做。
更新的CSS:
.longList {overflow: auto; height: 550px; margin: 0 auto; -webkit-overflow-scrolling: touch; position:fixed;}
我试图通过对DIV指定宽度(带班longList),但每当我在DIV指定任何宽度,我回到原来的问题,而现在表填满了整个页面(宽度方向)来解决它,内容被再次切断!
任何人都遇到像这样的情况来的?
所以我发现,这个有效的解决方案。 我有两个iframe出现和的div嵌入式内容类似的问题。 我不知道有多好这个工程的内部框架,但对div的它似乎这样的伎俩。
在页面加载后 ,同时出错的元素在页面上可见使用下面的代码行。 这迫使该元素的重绘/回流,它会显示的全部内容。
//Fix for mobile webkit browsers not rendering full content
$('.divWithContent').parent().hide().show(0);
您可能需要添加的包装只是为了股利或遇到的问题是,如果你没有一个已经IFRAME,这样你不闪烁或重建比你需要更多的内容。
样本结构:
<div class="wrapper">
<div class="divWithContent">
...
</div>
<div>
如果你的DIV是在页面加载可见,这里是你可以使用此解决方案的一种方式。 您可能需要添加一个轻微的延迟太:
$(document).ready( function() {
$('.divWithContent').parent().hide().show(0);
}
如果元素当前处于隐藏状态,这将无法正常工作。 它似乎并不该元素必须是当前的设备视可见的,但它至少必须在页面上,而不是隐藏。
文章来源: -webkit-overflow-scrolling: touch, large content gets cut off when specifying a width