Sabit bir arka plan yüksekliğine sahip olmadan çalışarak saf CSS paralaks efekti elde etmeye çalışıyorum. Bu, bir fewplaces sayılı belgede açıklanmıştır, ancak arka plan katmanının sabit, bilinen bir yüksekliğe sahip olması gerektiği konusunda ortak bir kısıtlama vardır.Sabit arka plan yüksekliği olmayan saf CSS paralaks?
Bazı dinamik içerikler nedeniyle arka plan için sabit, bilinen bir yüksekliğe sahip olmadan çalışma etkisini elde etmek istiyorum.
Benim minimum örnek buradadır: https://jsfiddle.net/yf8oyben/
#container {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
perspective: 1px;
overflow-x: hidden;
overflow-y: scroll;
}
.background {
transform: translateZ(-1px) scale(2);
width: 100%;
background: lightgreen;
height: 250px; /* Assumes bg height */
position: absolute; /* Assumes bg height */
top: calc(125px - 50vh); /* Assumes bg height */
}
.foreground {
background: rgba(0, 0, 255, 0.5);
width: 100%;
position: absolute; /* Assumes bg height */
top: 250px; /* Assumes bg height */
}
<body>
<div id='container'>
<div id="group1">
<div class="background">
<div style="height: 10rem"></div>
<center>Banner</center>
<div style="height: 10rem"></div>
</div>
<div class="foreground">
<div style="height: 10rem"></div>
<center>Content</center>
<div style="height: 100rem"></div>
</div>
</div>
</div>
</body>
Artık çalışır ancak CSS'deki açıklamalı olarak arka plan, 250px olduğunu varsayar. Bunu kaldırmak ve şu anda olduğu gibi etkisini korumak mümkün mü?
, temelde ana konu bir üst div sevemeyeceğimizdir yüksekliğini mutlak bir çocuk divine ayarlayın, böylece yüksekliğini ayarlamak için bir satır j eklemeniz gerekir. –