Итак, я пытаюсь создать чистый параллаксный эффект.Он работает довольно хорошо, за исключением того, что есть один параллаксированный элемент, который мне нужен, чтобы надежно нанести гипс на правый край пространства обзора.После перевода и масштабирования это оказывается ... проблематичным.Вы можете увидеть мою версию здесь , где синий элемент должен быть напротив правого края экрана.
Я пробовал позиционирование и маржу в нескольких вариантах, но не повезло.Также попробовал немного translateX
, но это тоже не пуленепробиваемое решение, так как похоже, что оно основано на размере элемента.
Самая важная деталь здесь - это то, что у блока Blue и блока Teal будет интерактивное содержимое.Синий блок находится сверху (z-index), поэтому блок teal с контейнером полного размера страницы не является проблемой, но я не могу сделать то же самое для синего блока, который, к сожалению, в противном случае решил бы проблему как у меня здесь .
*{
margin:0;
padding:0;
box-sizing:border-box;
}
.box{
perspective: 1px;
height: 100vh;
overflow-x: hidden;
overflow-y: auto;
}
.main{
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
}
.content{
width:200px;
background:cyan;
margin:0 auto;
height:1200px;
}
.stuck{
height:100px;
width:100px;
background:blue;
position:absolute;
right:0;
top:20%;
transform: translateZ(-4px) scale(5);
}
<div class="box">
<div class="main"><div class="content">Test<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Test</div></div>
<div class="stuck"></div>
</div>
Как заставить этот синий блок оставаться в крайнем правом положении, используя только CSS?