Author: | Temani Afif |
---|---|
Views Total: | 223 views |
Official Page: | Go to website |
Last Update: | December 29, 2022 |
License: | MIT |
Preview:

Description:
A CSS solution for transitioning between images in a 3D space, just like a cube. It is made using only CSS/CSS3, so you don’t need to worry about including any additional libraries or dependencies in your project.
How to use it:
1. Add 6 images to the 3D cube slider.
<div class="mySlider"> <img src="1.jpg" alt="Image 1"> <img src="2.jpg" alt="Image 2"> <img src="3.jpg" alt="Image 3"> <img src="4.jpg" alt="Image 4"> <img src="5.jpg" alt="Image 5"> <img src="6.jpg" alt="Image 6"> </div>
2. The necessary CSS styles.
.mySlider { --s: 250px; /* cube size */ display: grid; transform-style: preserve-3d; --_p: perspective(calc(2.5*var(--s))); animation: r 9s infinite cubic-bezier(.5,-0.5,.5,1.5); } .mySlider img { grid-area: 1/1; width: var(--s); aspect-ratio: 1; object-fit: cover; transform: var(--_t,) translateZ(calc(var(--s)/2)); } .mySlider img:nth-child(2) {--_t: rotateX(-90deg)} .mySlider img:nth-child(3) {--_t: rotateY( 90deg)} .mySlider img:nth-child(4) {--_t: rotateX(180deg) rotate( 90deg)} .mySlider img:nth-child(5) {--_t: rotateX( 90deg)} .mySlider img:nth-child(6) {--_t: rotateY(-90deg)} @keyframes r { 0%,3% {transform: var(--_p) rotate3d(0, 0, 0, 0deg)} 14%,19% {transform: var(--_p) rotate3d(-1, 1, 0, 180deg)} 31%,36% {transform: var(--_p) rotate3d(0, -1, 0, 90deg)} 47%,52% {transform: var(--_p) rotate3d(1, 0, 0, 90deg)} 64%,69% {transform: var(--_p) rotate3d(1, 0, 0, -90deg)} 81%,86% {transform: var(--_p) rotate3d(0, 1, 0, 90deg)} 97%,100%{transform: var(--_p) rotate3d(0, 0, 0, 0deg)} }