How TO - Collapse Sidebar
Learn how to create a collapsible sidebar menu.
Click on the button to open the collapsible sidebar:
Try it Yourself »
Create a Collapsed Sidebar
Step 1) Add HTML:
Example
<div id="mySidebar" class="sidebar">
<a href="javascript:void(0)"
class="closebtn" onclick="closeNav()">×</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
<div id="main">
<button class="openbtn" onclick="openNav()">☰
Open Sidebar</button>
<h2>Collapsed Sidebar</h2>
<p>Content...</p>
</div>
Step 2) Add CSS:
Example
/* The sidebar menu */
.sidebar {
height: 100%; /*
100% Full-height */
width: 0; /* 0 width - change this
with JavaScript */
position: fixed; /* Stay in place
*/
z-index: 1; /* Stay on top */
top: 0;
left: 0;
background-color: #111; /* Black*/
overflow-x: hidden; /* Disable horizontal scroll */
padding-top: 60px; /* Place content 60px from the top */
transition: 0.5s; /* 0.5 second transition effect to slide in the sidebar */
}
/* The sidebar links */
.sidebar a {
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 25px;
color: #818181;
display: block;
transition: 0.3s;
}
/* When you mouse over the navigation links,
change their color */
.sidebar a:hover {
color: #f1f1f1;
}
/* Position and style the close button (top
right corner) */
.sidebar .closebtn {
position:
absolute;
top: 0;
right: 25px;
font-size: 36px;
margin-left: 50px;
}
/* The
button used to open the sidebar */
.openbtn
{
font-size: 20px;
cursor:
pointer;
background-color: #111;
color: white;
padding: 10px 15px;
border: none;
}
.openbtn:hover {
background-color: #444;
}
/* Style page content - use this if you want to push the page content to
the right when you open the side navigation */
#main {
transition: margin-left .5s;
/* If you want a transition effect */
padding: 20px;
}
/* On smaller screens, where height is less than
450px, change the style of the sidenav (less padding and a smaller font
size) */
@media screen and (max-height: 450px) {
.sidebar
{padding-top: 15px;}
.sidebar a {font-size: 18px;}
}
Step 3) Add JavaScript:
Example
/* Set the width of the sidebar to 250px and the left margin of the
page content to 250px */
function
openNav() {
document.getElementById("mySidebar").style.width
= "250px";
document.getElementById("main").style.marginLeft
= "250px";
}
/* Set the width of the sidebar to 0 and the
left margin of the page content to 0 */
function closeNav() {
document.getElementById("mySidebar").style.width = "0";
document.getElementById("main").style.marginLeft = "0";
}
Try it Yourself »
Tip: Go to our CSS Navbar Tutorial to learn more about navigation bars.
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.