【发布时间】:2021-08-05 06:16:56
【问题描述】:
和很多人一样,我看到了 Keith Clark 的视差的纯 css 实现 (Keith Clark's Tutorial) 并且非常喜欢它。
在尝试实现它时,我在溢出的垂直视差内容(不是预期的)周围得到一个内部垂直滚动条,以及与延伸到屏幕垂直溢出之外的静态内容有关的外部垂直滚动条(预期)。我只想要一个控制整个页面的垂直滚动条(视差组加上静态内容)。当使用它向上/向下滚动时,可以在视差组中看到视差效果以及将静态内容移入和移出视图。
我需要进行哪些更改?
.parallax_group {
position: relative;
height: 100vh;
transform-style: preserve-3d;
}
.parallax {
perspective: 1px;
perspective-origin-x: 100%;
height: 100vh;
overflow-x: hidden;
overflow-y: auto;
}
.parallax_layer {
position: absolute;
transform-origin-x: 100%;
top: 0;
right: 0;
bottom: 0;
left: 0;
font-size: 200%;
}
.parallax_layer--base {
transform: translateZ(0) scale(1);
background-color: red;
}
.parallax_layer--back {
transform: translateZ(-1px) scale(2);
background-color: blue;
}
.parallax_layer--deep {
transform: translateZ(-2px) scale(3);
background-color: green;
}
.static_content {
height: 300px;
background-color: black;
}
<div class="parallax">
<div class="parallax_group">
<div class="parallax_layer parallax_layer--back">
<p>Back Layer</p>
</div>
<div class="parallax_layer parallax_layer--base">
<p>Base Layer</p>
</div>
<div class="parallax_layer parallax_layer--deep">
<p>Deep Layer</p>
</div>
</div>
</div>
<div class="static_content">
</div>
【问题讨论】: