├── README.md ├── img1.webp ├── index.html └── style.css /README.md: -------------------------------------------------------------------------------- 1 | # 4k3dslider 2 | -------------------------------------------------------------------------------- /img1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/closeresty/4k3dslider/1a82cd0a72a4d6821bfc6eccc1aaca68fa113e43/img1.webp -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 3D Slider 9 | 10 | 11 |
12 |
13 | 45 |
46 |
47 | 48 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | .header { 6 | overflow: hidden; 7 | height: 100vh; 8 | width: 100vw; 9 | display: flex; 10 | justify-content: center; 11 | align-items: center; 12 | background: #252525; 13 | } 14 | .slider-box { 15 | width: 30vh; 16 | perspective: 1000px; 17 | position: relative; 18 | top: -17vh; /* height to top */ 19 | padding-top: 10vh; 20 | } 21 | .carousel { 22 | width: 100%; 23 | transform-style: preserve-3d; 24 | animation: rotate 20s infinite linear; /* speed: */ 25 | } 26 | .carousel .carousel-item { 27 | width: 100%; 28 | height: 25vh; 29 | position: absolute; 30 | overflow: hidden; 31 | } 32 | .it1 { 33 | transform: rotateY(0deg) translateZ(50vh); 34 | } 35 | .it2 { 36 | transform: rotateY(40deg) translateZ(50vh); 37 | } 38 | .it3 { 39 | transform: rotateY(80deg) translateZ(50vh); 40 | } 41 | .it4 { 42 | transform: rotateY(120deg) translateZ(50vh); 43 | } 44 | .it5 { 45 | transform: rotateY(160deg) translateZ(50vh); 46 | } 47 | .it6 { 48 | transform: rotateY(200deg) translateZ(50vh); 49 | } 50 | .it7 { 51 | transform: rotateY(240deg) translateZ(50vh); 52 | } 53 | .it8 { 54 | transform: rotateY(280deg) translateZ(50vh); 55 | } 56 | .it9 { 57 | transform: rotateY(320deg) translateZ(50vh); 58 | } 59 | .it10 { 60 | transform: rotateY(360deg) translateZ(50vh); 61 | } 62 | .carousel-item { 63 | box-shadow: 0px 0px 20px 0px #000; 64 | border-radius: 3vh; 65 | } 66 | .carousel .img { 67 | transition: ease-in-out 0.5s; 68 | width: 100%; 69 | height: 100%; 70 | } 71 | .carousel .img:hover { 72 | transform: scale(1.1); 73 | transition: all 0.5s; 74 | position: absolute; 75 | } 76 | .carousel:hover { 77 | animation-play-state: paused; 78 | cursor: pointer; 79 | } 80 | /* animation rotate */ 81 | @keyframes rotate { 82 | from { 83 | transform: rotateY(0deg); 84 | } 85 | to { 86 | transform: rotateY(360deg); 87 | } 88 | } 89 | --------------------------------------------------------------------------------