3D Cards
Home
Snippets
3D Cards
HTML
CSS
JS
<div class="slideshow"> <div class="slide" style="--i:0; --clr:linear-gradient(135deg, #ffb6c1, #ff69b4);"> <h2>Body<span>Wash</span></h2> </div> <div class="slide" style="--i:1; --clr:linear-gradient(135deg, #87cefa, #4682b4);"> <h2>Hair<span>Shampoo</span></h2> </div> <div class="slide" style="--i:2; --clr:linear-gradient(135deg, #98fb98, #2e8b57);"> <h2>Body<span>Cream</span></h2> </div> <div class="slide" style="--i:3; --clr:linear-gradient(135deg, #dda0dd, #9932cc);"> <h2>Hair<span>Detangler</span></h2> </div> <div class="slide" style="--i:4; --clr:linear-gradient(135deg, #f0e68c, #ffd700);"> <h2>SPF 50<span>Sunscreen</span></h2> </div> <div class="slide" style="--i:5; --clr:linear-gradient(135deg, #ff7f50, #ff4500);"> <h2>Conditioning<span>Treatment</span></h2> </div> </div>
* { margin: 0; padding: 0; box-sizing: border-box; } body { display: flex; align-items: center; justify-content: center; min-height: 100vh; background: #ffffff; font-family: "Poppins", sans-serif; } .slideshow { position: relative; width: 300px; height: 400px; transform-style: preserve-3d; perspective: 1000px; } .slideshow .slide { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; transform-style: preserve-3d; border-radius: 20px; transform: rotateY(270deg); animation: animate 40s linear infinite; animation-delay: calc(var(--i) * 4s); } @keyframes animate { 0% { transform: rotateY(270deg); } 10%, 100% { transform: rotateY(90deg); } } .slideshow .slide::before { content: ""; position: absolute; inset: 0; background: var(--clr); border-radius: 20px; transform: rotateY(180deg); backface-visibility: hidden; box-shadow: 0 10px 25px rgba(0,0,0,0.2); animation: gradientShift 4s ease-in-out infinite alternate; } @keyframes gradientShift { 0% { filter: brightness(1); } 50% { filter: brightness(1.15); } 100% { filter: brightness(1); } } .slideshow .slide h2 { position: relative; z-index: 10; color: #ffffff; font-size: 1.8em; text-align: center; transform: rotateY(180deg) translateZ(50px); /* Now faces front */ backface-visibility: hidden; font-weight: 700; text-shadow: 0 3px 8px rgba(0,0,0,0.3); } .slideshow .slide h2 span { display: block; font-size: 0.8em; font-weight: 300; }
//javascript
Ad #1
Ad #2
Scroll to Top