Я пытаюсь создать веб-сайт, и у меня есть анимация ключевых кадров, чтобы исчезнуть мои тексты. Тем не менее, анимация запускается в начале сайта. Я хочу запускать анимацию только тогда, когда содержимое находится в области просмотра. Возможно ли сделать это только в CSS и HTML? Или, если мне нужен javascript, как?
Это то, что у меня есть:
Мой HTML
<div class="section_container">
<div style="background-color:red" class="section">
<h1 class="animate_fadeup">Page1</h1>
</div>
<div style="background-color:green" class="section">
<h1 class="animate_fadeup">Page2</h1>
</div>
<div style="background-color:blue" class="section">
<h1 class="animate_fadeup">Page3</h1>
</div>
</div>
Мой CSS
.section_container {
width: 100%;
max-height: 100vh;
overflow-y: scroll;
border: 1px solid gray;
scroll-snap-type: y mandatory;
&.proximity {
scroll-snap-type: y proximity;
}
}
.section {
border-bottom: 1px solid white;
height: 100vh;
font-size: 1.4rem;
color: rgba(white, .5);
text-align: center;
scroll-snap-align: start;
display: flex;
flex-flow: column;
justify-content: start;
}
/* Animations */
@keyframes fadeup {
0% {
bottom: -50px;
opacity: 0.1;
}
100% {
bottom: 0px;
opacity: 1;
}
}
.animate_fadeup {
animation-name: fadeup;
animation-duration: 3s;
animation-fill-mode: both;
position: relative;
}
Или посмотрите мой кодовый блок: https://codepen.io/steven97102/pen/poodwYR