2016-08-11 64 views
0

我正在编写一个纯粹的CSS3视差网页,遵循Keith Clark's方法和Carl Henderson制作的样本(由于缺乏声誉,无法链接其codepen)。 这是主页面中的代码,我的JSFiddle和Carl's Codepen。CSS3变换在Mozilla调整窗口大小后开始工作

的index.html

<div class="plax_layer plax_layer--back"> 
    <p>Back Layer</p> 
    </div> 

    <div class="plax_layer plax_layer--base"> 
     <p>Base Layer</p> 
    </div> 

    <div class="plax_layer plax_layer--deep"> 
     <p>Deep Layer</p> 
    </div> 

</div> 

的main.css

html, body { 
    height: 100%; 
    overflow: hidden; 
} 
.parallax { 
    top: 0; 
    -webkit-perspective: 1px; 
    -moz-perspective: 1px; 
    -ms-perspective: 1px; 
    perspective: 1px; 
    height: 100vh; 
    overflow-x: hidden; 
} 
.plax_layer { 
    position: absolute; 
    top: 0; 
    right: 0; 
    bottom: 0; 
    left: 0; 
    font-size: 200%; 
    -webkit-transform-style: preserve-3d; 
    -moz-transform-style: preserve-3d; 
    -ms-transform-style: preserve-3d; 
    -o-transform-style: preserve-3d; 
    transform-style: preserve-3d;  
} 
.plax_layer--base { 
    -webkit-transform: translatez(0) scale(1); 
    -moz-transform: translatez(0) scale(1); 
    -ms-transform: translatez(0) scale(1); 
    -o-transform: translatez(0) scale(1); 
    transform: translatez(0) scale(1); 
    border: 2px solid red; 
} 

.plax_layer--back { 
    -webkit-transform: translatez(-1px) scale(2); 
    -moz-transform: translatez(-1px) scale(2); 
    -ms-transform: translatez(-1px) scale(2); 
    -o-transform: translatez(-1px) scale(2); 
    transform: translatez(-1px) scale(2); 
    border: 2px solid blue; 
} 
.plax_layer--deep { 
    -webkit-transform: translatez(-2px) scale(3); 
    -moz-transform: translatez(-2px) scale(3); 
    -ms-transform: translatez(-2px) scale(3); 
    -o-transform: translatez(-2px) scale(3); 
    transform: translatez(-2px) scale(3); 
    border: 2px solid green; 
} 
p { 
    position: absolute; 
} 

我遇到的问题是代码正常工作的Chrome和Safari,Mozilla的却完全不能在不打开Inspector窗口的情况下给出效果(关闭窗口后停止),并且只有在我调整了输出窗口大小后才能在我的Fiddle中工作。我还没有遇到类似的问题(可能还没有)在谷歌。

回答