Я пытаюсь выполнить несколько переходов между страницами для проекта, над которым я работаю, у меня есть анимированный оверлей, который появляется на экране, когда пользователь перемещается по сайту с помощью Barba, но у меня проблема.
Мне нужен lo go по центру страницы, которая перемещается вместе с наложением, но мне нужно, чтобы он располагался отдельно от наложения, поскольку любое преобразование на наложении также повлияет на lo go. (Я хочу, чтобы lo go был замаскирован с помощью элемента оверлея)
Что я пробовал:
- Переключение иерархии элементов / Z-индекса (я уверен проблема кроется где-то здесь)
- Попытка различных преобразований
- Возникновение с максимальной шириной (Успешно, но мне нужно свойство происхождения преобразования)
Пример -
let transitionOpen = false;
$('.transition-cta').on("click", function() {
if (transitionOpen === false) {
$('.transition-background').css("transform", "scaleX(1)");
$(this).css("color", "white");
transitionOpen = true;
} else {
$('.transition-background').css("transform", "scaleX(0)");
$(this).css("color", "black");
transitionOpen = false;
}
});
body {
background-color: lightblue;
}
.someContent {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.transition-wrapper {
overflow: hidden;
}
.transition-background {
width: 100%;
height: 100vh;
position: absolute;
top: 0;
left: 0;
transform-origin: left;
transition: 0.7s ease-in-out;
background-color: #1f1f1f;
transform: scaleX(0);
z-index: 2;
}
.transition-center {
background-image: url('https://i.imgur.com/6um9G9h.png');
z-index: 2;
width: 150px;
height: 150px;
position: absolute;
background-repeat: no-repeat;
background-size: cover;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.transition-cta {
text-decoration: underline;
cursor: pointer;
z-index: 3;
position: absolute;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<div class="transition-wrapper">
<div class="transition-background"></div>
<!-- I want to clip this with the transition background -->
<div title="I only want this to show with the transition overlay" class="transition-center"></div>
</div>
<div class="transition-cta">Trigger Transition</div>
<div class="someContent">
<h1>Some Content</h1>
</div>
(Глобус должен катиться вместе с наложением)
Это кажется чрезвычайно простой проблемой, но я действительно борюсь чтобы решить это. Я не могу сказать, перегорел ли я, или это на самом деле так сложно, как мой мозг.
Спасибо!