Tạo hiệu ứng ảnh cuộn dọc (VERTICAL IMAGE CAROUSEL) – GSAP Elementor

CSS code

Bước 1

				
					.image1 {
    border-radius: 10px;
    box-shadow: 0px 0px 10px 0px rgba(214.99999999999997, 238.99999999999997, 66.99999999999997, 0.17);
    animation: looping 15s infinite linear;
}

#column1 {
    width: 200px;
    height: 700px;
    max-height: 700px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), black 20%, black 80%, rgba(0, 0, 0, 0));
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), black 20%, black 80%, rgba(0, 0, 0, 0));
}

@keyframes looping {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-100%);
    }
}
				
			

Bước 2

				
					.image2 {
    border-radius: 10px;
    box-shadow: 0px 0px 10px 0px rgba(214.99999999999997, 238.99999999999997, 66.99999999999997, 0.17);
    animation: looping 16s linear 0s infinite none reverse;
     animation-direction: reverse;
}

#column2    {
    max-height: 700px;
    height: 700px;
    width: 200px;

    -webkit-mask-image: linear-gradient(transparent, black 20%, black 80%, transparent 100%);
    mask-image: linear-gradient(transparent, black 20%, black 80%, transparent 100%);
}

@keyframes looping{
0% {
    transform: translateY(0px);
}
100% {
    transform: translateY(-100%);
}
}
				
			

Bước 3

				
					.image3 {
    border-radius: 10px;
    box-shadow: 0px 0px 10px 0px rgba(214.99999999999997, 238.99999999999997, 66.99999999999997, 0.17);
    animation: looping 20s linear 0s infinite none;

}


#column3  {
    max-height: 700px;
    height: 700px;
    width: 200px;
    -webkit-mask-image: linear-gradient(transparent, black 20%, black 80%, transparent 100%);
    mask-image: linear-gradient(transparent, black 20%, black 80%, transparent 100%);

}

@keyframes looping{
0% {
    transform: translateY(0px);
}
100% {
    transform: translateY(-100%);
}
}
				
			

Responsive (tối ưu giao diện di động)

				
					@media only screen and (max-width: 360px) {
    #column1, #column2, #column3 {
        width: 100px;
        height: 350px;
        max-height: 350px;
    }
}