How to make Social Media Navigation Buttons in HTML CSS & JavaScript

HTML
<!-- Fontawesome -->
<link 
    rel="stylesheet" 
    href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css" 
/>

<div class="container">
    <span class="close-btn">
        <i class="fa-solid fa-xmark"></i>
    </span>
    <div class="media-icons">
        <a href="#" style="background:#e60023;">
            <i class="fa-brands fa-pinterest"></i>
            <span class="tooltip"  style="color:#e60023;">Pinterest</span>
        </a>
        <a href="#" style="background:#0e76a8;">
            <i class="fa-brands fa-linkedin"></i>
            <span class="tooltip" style="color:#0e76a8;">Linkedin</span>
        </a>
        <a href="#" style="background:#ff0000;">
            <i class="fa-brands fa-youtube"></i>
            <span class="tooltip" style="color:#ff0000;">YouTube</span>
        </a>
        <a href="#" style="background:#ea4689;">
            <i class="fa-brands fa-dribbble"></i>
            <span class="tooltip" style="color:#ea4689;">Dribbble</span>
        </a>
        <a href="#" style="background:#8e36ff;">
            <i class="fa-brands fa-github"></i>
            <span class="tooltip" style="color:#8e36ff;">Github</span>
        </a>
        <a href="#" style="background:#4267b2;">
            <i class="fa-brands fa-facebook"></i>
            <span class="tooltip" style="color:#4267b2;">Facebook</span>
        </a>
        <a href="#" style="background:#1da1f2;">
            <i class="fa-brands fa-twitter"></i>
            <span class="tooltip" style="color:#1da1f2;">Twitter</span>
        </a>
    </div>
</div>
CSS
/* Google Fonts - Poppins */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Poppins",sans-serif;
}
body{
    background:#e3f2fd;
}
.container{
    position:absolute;
    top:50%;
    left:0;
    transform:translateY(-50%);
    display:flex;
    flex-direction:column-reverse;
    align-items:center;
}
.media-icons{
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
    background-color:#fff;
    padding:6px;
    border-radius:6px;
    box-shadow:0 5px 10px rgba(0,0,0,0.1);
    transform:translateX(-100%);
    transition:all 0.5s cubic-bezier(0.68,-0.55,0.265,1.55);
}
.close-btn.open ~ .media-icons{
    transform:translateX(0%);
} 
.media-icons a{
    text-decoration:none;
    position:relative;
    height:35px;
    width:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:6px;
    margin:6px;
}
.media-icons a i{
    color:#fff;
}
.media-icons a .tooltip{
    position:absolute;
    left:55px;
    font-size:14px;
    font-weight:400;
    pointer-events:none;
    background-color:#fff;
    padding:4px 8px;
    border-radius:4px;
    transform:translateY(-25px);
    opacity:0;
    transition:all 0.2s linear;
    box-shadow:0 5px 10px rgba(0,0,0,0.05);
}
a:hover .tooltip{
    opacity:1;
    transform:translateY(0);
}
a .tooltip::before{
    content:'';
    position:absolute;
    height:10px;
    width:10px;
    top:50%;
    left:-5px;
    transform:translateY(-50%) rotate(45deg);
    background-color:#fff;
}
.close-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    height:35px;
    width:35px;
    border-radius:50%;
    color:#fff;
    font-size:18px;
    margin-top:20px;
    background:#8e36ff;
    box-shadow:0 5px 10px rgba(0,0,0,0.1);
    cursor:pointer;
    transform:rotate(45deg);
    transition:all 0.5s cubic-bezier(0.68,-0.55,0.265,1.55);
}
.close-btn.open{
    transform:rotate(90deg);
    background-color:#de0611;
}
JS
const closeBtn = document.querySelector(".close-btn");

closeBtn.addEventListener("click", () => {
    closeBtn.classList.toggle("open");
});

/* All the credits: https://www.youtube.com/watch?v=yAncGpvUfX0 */

Autor: Leonard

Publicado: 13/01/2023

Compartir Elemento Web

Donar a Compositu
Otras formas de ayudar
  • Compártelo en tus redes sociales.
  • Recomienda los elementos.
  • Regístrate Aquí
  • Deja tu comentario agradeciendo el aporte.

Descarga el código completo del Elemento Web y archivos necesarios (imágenes, librerias, plugins, frameword, etc)

Deja tu comentario