HTML
<div class="container">
<div class="tab_box">
<button class="tab_btn active">Home</button>
<button class="tab_btn">About</button>
<button class="tab_btn">Blogs</button>
<button class="tab_btn">Contact us</button>
<div class="line"></div>
</div>
<div class="content_box">
<div class="content active">
<h2>Home</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.
</p>
</div>
<div class="content">
<h2>About</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.
</p>
</div>
<div class="content">
<h2>Blogs</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.
</p>
</div>
<div class="content">
<h2>Contact us</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.
</p>
</div>
</div>
</div>CSS
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}
body{
background-color:#deeeff;
display:flex;
justify-content:center;
align-items:center;
height:100vh;
}
.container{
width:600px;
background-color:white;
padding:30px;
box-shadow:0 2px 16px rgba(0,0,0,.1);
border-radius:20px;
}
.tab_box{
width:100%;
display:flex;
justify-content:space-around;
align-items:center;
border-bottom:2px solid rgb(229,229,229);
position:relative;
}
.tab_box .tab_btn{
font-size:18px;
font-weight:600;
color:#919191;
background:none;
border:none;
padding:18px;
cursor:pointer;
}
.tab_box .tab_btn.active{
color:#7360ff;
}
.content_box{
padding:20px;
}
.content_box .content{
display:none;
animation:moving .5s ease;
}
@keyframes moving{
from{ transform:translateX(50px); opacity:0; }
to{ transform:translateX(0px); opacity:1; }
}
.content_box .content.active{
display:block;
}
.content_box .content h2{
margin-bottom:10px;
}
.line{
position:absolute;
top:62px;
left:17px;
width:90px;
height:5px;
background-color:#7360ff;
border-radius:10px;
transition:all .3s ease-in-out;
}JS
const tabs = document.querySelectorAll('.tab_btn');
const all_content = document.querySelectorAll('.content')
tabs.forEach((tab,index)=>{
tab.addEventListener('click',(e)=>{
tabs.forEach(tab=>{ tab.classList.remove('active')})
tab.classList.add('active');
var line = document.querySelector('.line');
line.style.width = e.target.offsetWidth + "px";
line.style.left = e.target.offsetLeft + "px";
all_content.forEach(content=>{ content.classList.remove('active') });
all_content[index].classList.add('active');
})
})
/*
All the credits : https://www.youtube.com/watch?v=nlOmgBHnLqQ
*/
Deja tu comentario