Folder Structure

Resources

Codes
HTML
index.html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Source Code Of Animated Profile Card</title> <link rel="stylesheet" href="style.css"> <script src="https://unpkg.com/ionicons@4.5.10-0/dist/ionicons.js"></script> </head> <body> <div class="container"> <div class="card"> <div class="inner-box"> <div class="content"> <h2>Robin jha<br><span>Web Developer</span></h2> <div class="img"> <img src="images/image-1.jpg"> </div> <div class="links"> <a href="images/cv.pdf" download>Download CV</a> <a href="https://wa.me/+910000000000" target="_blank">Send Message</a> </div> </div> </div> <div class="toggle"> <span><ion-icon name="arrow-dropdown-circle"></ion-icon></span> </div> </div> </div> <script src="script.js"></script> </body> </html>
CSS
style.css@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;500&display=swap'); *{ padding: 0; margin: 0; box-sizing: border-box; font-family: 'Poppins', sans-serif; } .container{ display: flex; justify-content: center; align-items: center; min-height: 100vh; width: 100%; background: #1b1f29; } .card{ position: relative; width: 400px; height: 90px; background: #f66335; border-radius: 20px; transition: 0.5s ease-in-out; filter: drop-shadow(-20px 20px 40px #f6633544); } .card.active{ height: 450px; } .toggle{ position: absolute; cursor: pointer; bottom: -60px; left: 50%; transform: translate(-50%); width: 70px; height: 60px; background-color: #f66335; border-bottom-left-radius: 35px; border-bottom-right-radius: 35px; display: flex; align-items: center; justify-content: center; font-size: 30px; } .toggle::before{ content: ''; position: absolute; left: -34px; width: 35px; height: 35px; background: transparent; border-top-right-radius: 35px; box-shadow: 11px -10px 0 10px #f66335; } .toggle::after{ content: ''; position: absolute; right: -34px; width: 35px; height: 35px; background: transparent; border-top-left-radius: 35px; box-shadow: -11px -10px 0 10px #f66335; } .card .toggle span{ transition: 0.5s ease-in-out; } .card.active .toggle span{ transform: rotate(180deg); } .inner-box{ position: absolute; inset: 0; overflow: hidden; } .inner-box .content{ position: relative; padding: 20px; text-align: center; z-index: 5; display: flex; flex-direction: column; justify-content: center; align-items: center; } .inner-box .content h2{ color: #fff; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; line-height: 1.1em; } .inner-box .content h2 span{ font-size: 0.75em; font-weight: 400; text-transform: initial; } .img{ position: relative; width: 250px; height: 250px; background: #fff; margin-top: 20px; box-shadow: -10px 10px 10px rgba(0, 0, 0, 0.15); border: 5px solid #fff; } .img img{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } .content .links{ margin-top: 40px; } .content a{ position: relative; padding: 10px 30px; text-decoration: none; color: #fff; background: transparent; font-size: 14px; border: 2px solid #000; border-radius: 30px; border-top-right-radius: 0; transition: 0.5s; cursor: pointer; } .content a:first-child{ background-image: linear-gradient(45deg, #df4881, #c430d7); margin-right: 10px; } .content a:hover{ border-top-right-radius: 30px; }
JavaScript
script.jslet card = document.querySelector('.card'); let toggleCard = document.querySelector('.toggle'); toggleCard.onclick = function(){ card.classList.toggle('active'); }
YouTube Video
Download Source Code
Don’t forget to share this post!
Click Here : To Show Your Support!