iOS:具有-webkit-backface-visibility的多个div:缩放时隐藏崩溃浏览器

当我在iPad 4浏览器上查看以下HTML页面(Safari或Chrome无关紧要)时,浏览器在缩放时会崩溃(无论是双击缩放还是双指缩放)。 该页面包含40个简单的div(为了简洁,由javascript插入)具有属性-webkit-backface-visibility:hidden。

<!doctype html> <html> <head> <style> .front { -webkit-backface-visibility: hidden; position: absolute; border: 1px solid black; width: 800px; height: 800px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> </head> <body id="outer"> <script> $(function() { for (var i = 0; i < 40; i++) { $(document.createElement('div')) .css({top: i*10, left: i*10}) .addClass("front").appendTo($("#outer")); } }) </script> </body> </html> 

iPhone和老一代的iPad也可能出现同样的问题。 这是一个奇怪和烦人的错误; 当我停用-webkit-backface-visibility:隐藏内部元素样式时,不会发生这种情况。

你可能会问:为什么我不简单地删除-webkit-backface-visibility:隐藏的样式,因为它在这个页面上没有任何区别? 那么,这是一个最小的反例,我需要在实际的,更复杂的页面上。

看起来,移动Safari浏览器有像css3属性转换,转换或背面visiblity麻烦,有时运行内存不足。

看到:

但不幸的是没有已知的解决方法,除了删除属性…你是如何解决你的问题?

尽量不要使用position: absolute; 而是使用position: relative;

你也可以尝试给-webkit-perspective: 1000; 以及-webkit-backface-visibility: hidden;