Sidebar Off canvas

How it Works: Off-Canvas Sidebar Component

This component uses HTML5, Tailwind CSS, and Vanilla JavaScript to create a smooth, performant sidebar navigation.

The Trigger Mechanism:

The Menu Button uses an onclick="toggleSidebar()" event to trigger the opening sequence.

We use a semantic <button> tag for accessibility.

The UI Structure (HTML & Tailwind):

Overlay (#sidebar-overlay): A fixed inset-0 div covers the entire screen with a semi-transparent black background (bg-black/50). It starts hidden and transparent (opacity-0 hidden) to prevent interaction when closed.

Sidebar Panel (#sidebar-panel): Positioned with fixed top-0 left-0 h-full, it occupies the full height of the screen.

Animation State: We use transform -translate-x-full to hide the panel completely off-screen to the left by default. The transition-transform duration-300 class ensures the sliding movement is smooth.

The Logic (JavaScript): The toggleSidebar() function handles the state:

Opening: It removes the -translate-x-full class (sliding the panel into view) and removes hidden/opacity-0 from the overlay (fading it in).

Closing: It adds the classes back to reverse the animation. Crucially, it uses setTimeout(..., 300) when closing. This delays the hidden class application by 300ms, allowing the CSS fade-out animation to complete fully before the element is removed from the flow.

Flexbox Layout:

The panel uses flex flex-col to vertically stack the Header, Content, and Footer.

The middle section has flex-1 overflow-y-auto, ensuring that if the menu items exceed the screen height, only that area scrolls while the header and footer stay pinned.

This tailwind example is contributed by Juan D. Cortorreal, on 03-Dec-2025. Component is made with Tailwind CSS v3. It is responsive. similar terms for this example is drawer

Related Examples

Explore components by Tags

Didn't find component you were looking for?

Search from 3000+ components

tailwindflex logo TailwindFlex.com
Tailwindflex.com is a free Tailwind CSS examples library. It's a one-stop destination for ready-made Tailwind CSS components and templates.

Contact

© 2026 TailwindFlex. All Rights Reserved.

v1.12