Sidebar

Offcanvas navigation sidebar for mobile and desktop

Overview

The sidebar component provides a responsive navigation panel that adapts between mobile (offcanvas) and desktop (fixed) layouts.

Note: The sidebar you're currently viewing in this documentation is built using this component!

Basic Structure

HTML
<!-- Toggle Button (Mobile) -->
<button class="bl-sidebar-toggle">
  <i class="fas fa-bars"></i>
</button>

<!-- Sidebar -->
<aside class="bl-sidebar">
  <div class="bl-sidebar-header">
    <h3>Menu</h3>
    <button class="bl-sidebar-close">×</button>
  </div>
  
  <nav class="bl-sidebar-nav">
    <ul class="bl-nav">
      <li><a href="#" class="bl-nav-link">Item 1</a></li>
      <li><a href="#" class="bl-nav-link">Item 2</a></li>
    </ul>
  </nav>
  
  <div class="bl-sidebar-footer">
    <!-- Footer content -->
  </div>
</aside>

<!-- Backdrop (Mobile) -->
<div class="bl-sidebar-backdrop"></div>

Behavior

Mobile (< 768px)

  • Sidebar is hidden off-canvas by default
  • Toggle button shows hamburger menu icon
  • Opens with slide animation from left
  • Backdrop overlay appears behind sidebar
  • Body scroll is locked when open

Desktop (≥ 768px)

  • Sidebar is always visible and fixed
  • No backdrop needed
  • Can be collapsed to show only icons
  • Toggle button is hidden

Variants

Right-Aligned Sidebar

Add bl-sidebar-right to position the sidebar on the right side.

HTML
<aside class="bl-sidebar bl-sidebar-right">
  <!-- Sidebar content -->
</aside>

Collapsed Sidebar (Desktop)

Add bl-sidebar-collapsed to show a collapsed sidebar with icons only.

HTML
<aside class="bl-sidebar bl-sidebar-collapsed">
  <!-- Text labels hidden, icons remain visible -->
</aside>

Features

  • Responsive: Adapts between mobile offcanvas and desktop fixed layout
  • Glassmorphism: Beautiful glass effect with backdrop blur
  • Smooth Animations: Slide-in/out transitions for mobile
  • Backdrop Overlay: Automatic backdrop for mobile view
  • Body Scroll Lock: Prevents scrolling when sidebar is open on mobile
  • Collapsible: Desktop sidebar can collapse to icon-only mode
  • Keyboard Accessible: Full keyboard navigation support

JavaScript API

The sidebar requires JavaScript for interactivity. The Baseline UI JavaScript automatically initializes all sidebars.

JavaScript
// Open sidebar
document.querySelector('.bl-sidebar').classList.add('bl-sidebar-open');

// Close sidebar
document.querySelector('.bl-sidebar').classList.remove('bl-sidebar-open');

// Toggle sidebar
document.querySelector('.bl-sidebar').classList.toggle('bl-sidebar-open');