Glassmorphism Debit/Credit Card In Pure CSS
AUTHOR: | biancagualter |
---|---|
VIEWS TOTAL: | 185 views |
OFFICIAL PAGE: | Go to website |
LAST UPDATE: | January 28, 2021 |
LICENSE: | MIT |
Preview:
Description:
A realistic, frosted glass style debit & credit card template with flip animation on hover.
Written in pure CSS/CSS3. Inspired by the trending Glassmorphism design concept.
How to use it:
1. Add front & back information to the card.
<div class="card"> <div class="face front"> <h3 class="debit">CSSScript</h3> <h3 class="bank">VISA</h3> <img class="chip" src="./assets/chip.png" alt="chip"> <h3 class="number">0000 0000 0000 0000</h3> <h5 class="valid"><span>VALID <br /> THRU</span><span>10/28</span></h5> <h5 class="card-holder">jQueryScript</h5> </div> <div class="face back"> <div class="blackbar"></div> <div class="cvvtext"> <div class="white-bar"></div> <div class="cvv">123</div> </div> <p class="text"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus quis ex nec nulla posuere sollicitudin. Proin nec orci at est pellentesque malesuada eu a neque. Maecenas quis porttitor odio. Praesent faucibus dui nisl, ac luctus mauris pulvinar in. Morbi vitae ante a nunc ullamcorper rutrum. Donec non interdum purus, gravida elementum mi. </p> </div> </div>
2. The required CSS/CSS3 styles for the Glassmorphism Debit/Credit Card.
.card { position: relative; width: 508px; height: 314px; transform-style: preserve-3d; perspective: 500px; z-index: 2; } .card .face { position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 15px 15px rgba(0, 0, 0, 0.5); border-radius: 15px; background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(28px); transform-style: preserve-3d; transition: 1s; backface-visibility: hidden; border-top: 1px solid rgba(255, 255, 255, 0.4); border-left: 1px solid rgba(255, 255, 255, 0.4); border-right: 1px solid rgba(255, 255, 255, 0.2); border-bottom: 1px solid rgba(255, 255, 255, 0.2); } .card:hover .face.front { transform: rotateY(180deg); } .card .face.back { transform: rotateY(180deg); } .card:hover .face.back { transform: rotateY(360deg); } .card .face.front::before { content:''; position: absolute; bottom: 40px; right: 40px; width: 60px; height: 60px; background: #fff; border-radius: 50%; opacity: 0.5; } .card .face.front::after { content:''; position: absolute; bottom: 40px; right: 80px; width: 60px; height: 60px; background: #fff; border-radius: 50%; opacity: 0.7; } .card .face.front .debit { position: absolute; left: 40px; top: 30px; color: #fff; font-weight: 500; } .card .face.front .bank { position: absolute; right: 40px; top: 25px; color: #fff; font-weight: 500; font-style: italic; font-size: 24px; } .card .face.front .chip { position: absolute; top: 80px; left: 50px; max-width: 64px; } .card .face.front .number { position: absolute; bottom: 130px; left: 40px; color: #fff; font-weight: 500; letter-spacing: 6px; font-size: 18px; text-shadow: 0 2px 1px #0005; font-family: 'Orbitron', sans-serif; } .card .face.front .valid { position: absolute; bottom: 90px; left: 40px; display: flex; justify-content: center; align-items: center; color: #fff; font-weight: 300; line-height: 1em; text-align: right; } .card .face.front .valid span:last-child { margin-left: 20px; font-size: 16px;font-weight: 400; letter-spacing: 2px; } .card .face.front .card-holder { position: absolute; bottom: 40px; left: 40px; color: #fff; font-weight: 300; font-size: 16px; letter-spacing: 2px; text-transform: uppercase; } .card .face.back .blackbar { position: absolute; top: 40px; width: 100%; height: 60px; background: #000; } .card .face.back .cvvtext { position: absolute; top: 120px; left: 30px; } .card .face.back .cvvtext .white-bar { position: relative; width: 400px; height: 40px; background: #fff; margin-top: 5px; } .card .face.back .cvvtext .cvv { position: relative; top: -35px; left: 345px; background: #ccc; color: #111; width: 50px; height: 30px; font-weight: 600; letter-spacing: 3px; display: flex; justify-content: center; align-items: center; } .card .face.back .text { position: absolute; bottom: 30px; left: 30px; right: 30px; color: #fff; font-size: 10px; line-height: 1. 4em; font-weight: 300; }