Skip to content
Zest

Offcanvas

Offcanvas panels slide in from any edge of the screen and are perfect for menus, filters, carts and quick settings that should not take a whole page. The examples show the four placements, backdrop and scrolling options, a responsive panel and complete ready-to-use drawers.

1Basic offcanvas

A panel that slides in from the left edge, opened by a button.

Hello there

Our sommelier has paired each dish with wines from small family vineyards.

Thousands of guests already trust us, and we work hard to keep it that way.

2Link as trigger

Any link with <code>href="#id"</code> and <code>data-ui-toggle="offcanvas"</code> can open the panel.

What is Zest?

About Zest

We listen first, then build a plan around what you actually need. Start in minutes and get help from a real person whenever you need it. Every dish is cooked to order, so tell us if you would like anything changed.

Learn more

3End placement

<code>.offcanvas-end</code> slides the panel in from the right.

Details

We have been feeding this neighbourhood for over a decade, and we still love it.

4Top placement

<code>.offcanvas-top</code> drops a short panel from the top - good for announcements or a search bar.

Search everything

5Bottom placement

<code>.offcanvas-bottom</code> works like a mobile bottom sheet.

Bottom sheet

Our menu changes with the seasons and the best produce from nearby farms.

6Body scrolling

<code>data-ui-scroll="true"</code> with <code>data-ui-backdrop="false"</code> keeps the page scrollable and clickable behind the panel.

Page stays usable

Scroll the page while this panel is open. Vegan, vegetarian and gluten-free dishes are marked clearly on every menu.

7Scrolling with backdrop

<code>data-ui-scroll="true"</code> alone keeps page scrolling but dims the page.

Backdrop and scrolling

Our menu changes with the seasons and the best produce from nearby farms.

8Static backdrop

<code>data-ui-backdrop="static"</code> only closes from the close button - for panels with unsaved input.

Unsaved changes

Clicking outside will not close this panel.

9Dark panel

Set <code>data-ui-theme="dark"</code> on the panel for a dark sidebar in a light page.

Night shift

Thousands of guests already trust us, and we work hard to keep it that way.

10Navigation menu

A side menu built with a flush list group, icons and a badge.

11Nested menu

Collapsible sub-menus inside the panel keep long navigation tidy.

12Filters panel

A filter sidebar with checkboxes, a price range that shows its value, a sort select and apply/reset buttons.

Filter results

Category

13Shopping cart

A cart drawer listing items with thumbnails, a subtotal and checkout buttons.

Your cart

  • Slow-cooked lamb
    Slow-cooked lamb
    Qty 1
    $29.00
  • Seasonal soup
    Seasonal soup
    Qty 1
    $9.00
  • House lemonade
    House lemonade
    Qty 1
    $5.00
Subtotal$43.00
Checkout

14Notifications panel

An activity feed in an end panel, with a header action to mark everything as read.

Notifications

Cooking classes on Saturday mornings teach you our favourite recipes.

yesterday

Our team has done this many times, so you never have to guess.

yesterday

Children are always welcome, with a menu made just for them.

just now

Every detail is handled by people who care about getting it right.

23 hours ago

15Profile panel

User card with avatar, stats and account links - typical for an avatar button in the header.

Profile

Leo Kim

Leo Kim

Content Writer - Denver

59Projects
3.2kFollowers
185Reviews

16Settings panel

Quick settings with switches and a select; the footer buttons stay at the bottom.

Quick settings

17Responsive offcanvas

<code>.offcanvas-lg</code> is a slide-in panel below the lg breakpoint and plain inline content above it. Narrow the window to see the button.

Sidebar

Our terrace is open from spring to autumn, with heaters for cooler evenings.

18Contact form

A support form that slides in from the side, with a character counter on the message field.

How can we help?

0 / 400

19Share sheet

A short bottom panel with a grid of share actions, sized with an inline height.

20Chat panel

A support chat drawer: message bubbles in the body and an input pinned to the bottom.

Chat with Lucas

Lucas
Hi! I am Lucas. How can I help today?
Do you offer dine-in?
Lucas
Every dish is cooked to order, so tell us if you would like anything changed.