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中工作。我还没有遇到类似的问题(可能还没有)在谷歌。
现在它在没有调整大小的情况下工作,但不在我的主页上http://kp.mittensland.net –