Author: | PranatPraveer |
---|---|
Views Total: | 1,672 views |
Official Page: | Go to website |
Last Update: | August 13, 2021 |
License: | MIT |
Preview:

Description:
A pretty cool bottom tab bar navigation as seen on mobile devices.
Built with CSS/CSS3 and Font Awesome iconic font.
How to use it:
1. Load the Font Awesome iconic font (OPTIONAL).
<link rel="stylesheet" href="/path/to/cdn/fontawesome.min.css" />
2. The HTML structure for the tab bar navigation.
<div class="tab-nav-container"> <div class="tab active purple"> <i class="fas fa-home"></i> <p>Home</p> </div> <div class="tab pink"> <i class="far fa-heart"></i> <p>Likes</p> </div> <div class="tab yellow"> <i class="fas fa-search"></i> <p>search</p> </div> <div class="tab teal"> <i class="far fa-bell"></i> <p>Notifications</p> </div> </div>
3. The required CSS styles.
.tab-nav-container{ background-color: rgb(226, 226, 226); border-bottom-right-radius: 20px; border-bottom-left-radius: 20px; box-shadow:0 15px 10px rgba(0,0, 0, 0.16), 0 3px 6px rgba(0,0, 0, 0.16); display: flex; padding: 30px; justify-content: space-between; width: 350px; } .tab{ background-color: rgb(226, 226, 226); border-radius: 50px; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 10px; margin: 0 5px; transition: background 0.4s linear; } .tab i{ font-size: 1.2em; } .tab p{ font-weight: bold; overflow: hidden; max-width: 0; } .tab.active p{ margin-left: 10px; max-width: 100px; transition: max-width 0.4s linear; } .tab.active.purple{ background-color: rgba(91,55, 183, 0.2); color: rgba(91,55, 183, 1); } .tab.active.pink{ background-color: rgba(201,55, 157, 0.2); color: rgba(201,55, 157, 1); } .tab.active.yellow{ background-color: rgba(230,169, 25, 0.2); color: rgba(230,169, 25, 1); } .tab.active.teal{ background-color: rgba(28,150,162,0.2); color: rgba(28,150,162,1); }
4. The following JS snippet demonstrates how to handle click events on navigation items.
const tabs= document.querySelectorAll(".tab"); tabs.forEach((clickedTab)=>{ clickedTab.addEventListener('click',()=>{ tabs.forEach((tab=>{ tab.classList.remove("active"); })) clickedTab.classList.add("active"); const clickedTabBGColor=getComputedStyle (clickedTab).getPropertyValue( "color" ); document.body.style.background=clickedTabBGColor; }); });