вы можете установить их opacity
на 0
и transform:transationY(100%)
и создать класс с именем show
или что-то со свойствами opacity:1;
и transform:translateY(0);
, тогда вам понадобится это JS код
var columns = document.getElementsByClassName("col");
document.addEventListener("scroll",function(){
for(var i = 0; i < columns.length; i++){
if(columns[i].getBoundingClientRect().top < window.innerHeight){
columns[i].classList.add("show");
}
}
});
.col{
width:100%;
height:300px;
background:#555;
border:1px solid #000;
margin-bottom:50px;
opacity:0;
transform:translateY(100%);
transition:opacity .5s, transform .5s;
}
.show{
opacity:1;
transform:translateY(0);
}
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
где columns[i].getBoundingClientRect().top < window.innerHeight
проверяет, отображается ли div
в окне во время прокрутки или нет