Offcanvas Menu Example with Bootstrap 5

Offcanvas Menu Example by Bootstrap 5. The Bootstrap sidebar navbar is created by using Bootstrap and a few custom CSS. The sidebar menu will open with a toggle button. By using it, we can make a website navigation bar like Off-canvas Menu.

Add HTML

<div class="sidebar-nav">
    <nav class="navbar navbar-dark bg-primary fixed-top">
        <div class="container">
            <!-- Mobile Menu Toggle Button -->
            <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNavbar" aria-controls="offcanvasNavbar">
                <span class="navbar-toggler-icon"></span>
            </button>

            <!-- Menus List -->
            <div class="offcanvas offcanvas-start shadow" tabindex="-1" id="offcanvasNavbar" aria-labelledby="offcanvasNavbarLabel">
              <div class="offcanvas-body">
                    <ul class="navbar-nav">
                        <li><a href="#"><i class="bi bi-calendar3"></i> <span class="item-text">Calendar</span></a></li>
                        <li><a href="#"><i class="bi bi-pencil-square"></i> <span class="item-text">Applications</span></a></li>
                        <li><a href="#"><i class="bi bi-people"></i> <span class="item-text">Audience</span></a></li>
                        <li><a href="#"><i class="bi bi-book"></i> <span class="item-text">Books World</span></a></li>
                        <li><a href="#"><i class="bi bi-person-check"></i> <span class="item-text">Candidates</span></a></li>
                        <li><a href="#"><i class="bi bi-envelope"></i> <span class="item-text">Email</span></a></li>
                        <li><a href="#"><i class="bi bi-graph-up"></i> <span class="item-text">Analytics</span></a></li>
                    </ul>
              </div>
            </div>

            <div class="btn-group">
                <a href="#" class="dropdown-toggle text-white text-decoration-none" data-bs-toggle="dropdown" aria-expanded="false">
                    <span class="usericon"><i class="bi bi-person-circle"></i></span>
                    <span class="textnone">Gurdeep Singh</span>
                </a>
                <ul class="dropdown-menu dropdown-menu-end">
                    <li><button class="dropdown-item" type="button"><i class="bi bi-lock-fill"></i> Change Password</button></li>
                    <li><button class="dropdown-item" type="button"><i class="bi bi-gear-fill"></i> Admin Setion</button></li>
                    <li><button class="dropdown-item" type="button"><i class="bi bi-gear-wide-connected"></i> IMAP Settings</button></li>
                    <li><hr class="dropdown-divider"></li>
                    <li><button class="dropdown-item" type="button"><i class="bi bi-box-arrow-right"></i> Sign out</button></li>
                </ul>
            </div>

        </div>
    </nav>
</div>

Add CSS

.sidebar-nav ul li a {
    font-size: 26px;
    text-decoration: none;
    display: block;
    padding: 6px 10px;
    transition: 0.5s;
}
.sidebar-nav ul li a:hover {
    background-color: #eeeeee;
    border-radius: 4px;
}
.sidebar-nav .offcanvas {
    width: 220px;
    border: none;
}
.sidebar-nav .offcanvas ul li a span {
    font-size: 18px;
    position: relative;
    top: -4px;
    transition: 0.5s;
}
.sidebar-nav .offcanvas.show ul li a:hover span {
    padding-left: 10px;
}
.sidebar-nav .dropdown-toggle::after {
    position: relative;
    top: 3px;
}

Leave a Comment