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

时间:2013-04-23 10:19:10

标签: javascript html ios css

当我在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:hidden样式,因为它在这个页面上没有任何区别?嗯,这是一个极小的反例,我需要在实际的,更复杂的页面上。

2 个答案:

答案 0 :(得分:1)

似乎移动版Safari在转换,转换或背面可见性等css3属性方面存在一些问题,并且有时会在内存中运行。

请参阅:

但遗憾的是,除了移除财产之外没有其他已知的解决方法......你是如何解决问题的?

答案 1 :(得分:0)

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

您也可以尝试将-webkit-perspective: 1000;-webkit-backface-visibility: hidden;

一起提供