--- title: Offcanvas summary: Offcanvas is a hidden sidebar that slides into view from the edge of the screen. Use it for navigation, filters or settings that should not take up space all the time. description: Sidebar panel that slides in from the edge of the viewport. related: [/ui/components/modal] source: core/scss/ui/_offcanvas.scss classnames: component: - class: offcanvas desc: Container element, hidden until Bootstrap opens it part: - class: offcanvas-header desc: Title bar with a bottom border - class: offcanvas-title desc: Heading inside the header - class: offcanvas-body desc: Content area - class: offcanvas-footer desc: Row of actions at the bottom modifier: - class: offcanvas-narrow desc: Narrower panel, 20rem instead of the default width direction: - class: offcanvas-start desc: Slides in from the leading edge - class: offcanvas-end desc: Slides in from the trailing edge - class: offcanvas-top desc: Slides in from the top - class: offcanvas-bottom desc: Slides in from the bottom size: - class: offcanvas-{breakpoint} desc: Behaves as an offcanvas below the breakpoint and as normal content above it --- import Example from '@components/Example.astro'; import CodeDocs from '@components/CodeDocs.astro'; Offcanvas is a sidebar component that can be toggled via JavaScript to appear from the left, right, top, or bottom edge of the viewport. Buttons or anchors are used as triggers that are attached to specific elements you toggle, and `data` attributes are used to invoke our JavaScript. ## Basic usage To create an offcanvas, add the `.offcanvas` class to a container element. You can also add the `.offcanvas-start`, `.offcanvas-end`, `.offcanvas-top`, or `.offcanvas-bottom` class to specify the position of the offcanvas. The `.show` class is used to display the offcanvas.
Content for the offcanvas goes here. You can place just about any Tabler component or custom elements here.
`}>
Content for the offcanvas goes here. You can place just about any Tabler component or custom elements here.
## Header, title and footer Split the panel into `offcanvas-header`, `offcanvas-body` and `offcanvas-footer`. The header takes a bottom border and holds the title and the close button; the footer keeps the same padding as the body, which suits the buttons that close the panel. Use `offcanvas-title` for the heading, and point the panel's `aria-labelledby` at its id so the panel is announced by name.

Filters

Pick the filters you want to apply.
`}>

Filters

Pick the filters you want to apply.
## Narrow panel Add `offcanvas-narrow` for a panel thinner than the default. It suits a short list of filters or settings, where the full width would leave the panel mostly empty.

Filters

Pick the filters you want to apply.
`}>

Filters

Pick the filters you want to apply.
## Cookies banner The offcanvas component is used to display a cookies banner. It is a great way to inform users about the use of cookies on your website and to get their consent.
Do you like cookies? 🍪 We use cookies to ensure you get the best experience on our website. Learn more
`}>
## Accessibility - Point `aria-labelledby` at the offcanvas title so the panel is announced by name. - Bootstrap moves focus into the panel, keeps it there while the panel is open, and returns it to the trigger on close. That depends on `tabindex="-1"` being on the offcanvas element. - The toggle needs `aria-controls` with the panel id. Bootstrap manages `aria-expanded` itself. - Escape closes the panel unless you set `data-bs-keyboard="false"`. If you do turn it off, keep a visible close button. - Content behind the panel stays in the DOM. Use the backdrop, which Bootstrap marks `aria-hidden`, rather than building your own overlay. ## SCSS variables Use these SCSS variables to customize the offcanvas component. The default values are: