I compiled all w3schools HowTo code snippets with their practical steps.
Icon Barusing Font Awesome icons
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="icon-bar"> <a class="active" href="#"><i class="fa fa-home"></i></a> <a href="#"><i class="fa fa-search"></i></a> <a href="#"><i class="fa fa-envelope"></i></a> <a href="#"><i class="fa fa-globe"></i></a> <a href="#"><i class="fa fa-trash"></i></a> </div>
.icon-bar { width: 90px; background-color: #555; } .icon-bar a { display: block; text-align: center; padding: 16px; transition: all 0.3s ease; color: white; font-size: 36px; } .icon-bar a:hover { background-color: #000; } .active { background-color: #04AA6D; }
AccordionCollapsible accordion , with separate action for each section
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
<div class="accordion-wrapper"> <button class="accordion">Section 1</button> <div class="panel"> <p>Lorem ipsum</p> </div> <button class="accordion">Section 2</button> <div class="panel"> <p>Lorem ipsum</p> </div> <button class="accordion">Section 3</button> <div class="panel"> <p>Lorem ipsum</p> </div> </div>
let accordions = document.querySelectorAll("#accordion .accordion-wrapper .accordion"); for (let i = 0; i < accordions.length; i++) { accordions[i].addEventListener("click", function () { this.classList.toggle("active"); let panel = this.nextElementSibling; if (panel.style.display === "block") { panel.style.display = "none"; } else { panel.style.display = "block"; } }); }