---
url: /components/side-sheets/guidelines.md
description: >-
  Side sheets are surfaces containing supplementary content or actions to
  support tasks as part of a flow.
---

# Side sheets

Side sheets are surfaces containing supplementary content or actions to support tasks as part of a flow.

[Overview](overview.md) · [Specs](specs.md) · **Guidelines** · [Accessibility](accessibility.md)

![Side by side comparison of a standard and a modal side sheet.](/assets/262947f4-meqqqohk-01.z6xMtLy-.webp)

1. Standard side sheet
2. Modal side sheet

## Usage

Standard side sheets are supplementary surfaces used mostly in [medium](../../foundations/layout/breakpoints/medium.md "Window widths from 600dp to 839dp, such as a tablet or foldable in portrait orientation.") to [expanded breakpoints,](../../foundations/layout/breakpoints/expanded.md "Window widths 840dp to 1199dp, such as a tablet or foldable in landscape orientation, or desktop.") like tablet and desktop. They provide a consistent and predictable surface for contextual actions and information.<br><br>Standard side sheets display content that complements the screen’s primary content. They remain visible while people interact with primary content.

Common uses include:

* Displaying a list of actions that affect the screen’s primary content, such as filters
* Displaying supplemental content and features

![Standard side sheet showing supplementary information about a photo.](/assets/b69cdd3e-meqr6mnd-02.BT4uy3sW.webp)

Information about a photo in a standard side sheet

Modal side sheets are preferred in [compact breakpoints](../../foundations/layout/breakpoints/compact.md "Window widths smaller than 600dp, such as a phone in portrait orientation."), like mobile, due to limited screen size. 

They can display the same kinds of content as standard side sheets, but must be dismissed in order to interact with the underlying content.

![Modal side sheet showing filter controls.](/assets/d9b37fad-meqrab5f-03.BlgLe4ZU.webp)

Modal side sheet with filter controls

Side sheets have a fixed width and typically span the height of the screen. 

Their dimensions depend on how the app’s [layout](../../foundations/layout/layout-overview/overview.md "Layout is the visual arrangement of elements on the screen.") is subdivided into UI regions.

::: tip Do
![A modal sheet at the right of a screen, with the correct inset.](/assets/8ea7dbd1-meqrlvws-04-do.DeYFgslD.webp)

Place side sheets along the edge of the screen, usually on the right side to avoid interference with any navigational components on the left edge. They can be slightly inset by 16dp.
:::

::: danger Don't
![A modal side sheet at the right of the screen with the wrong inset.](/assets/e255b5cc-meqrngv8-05-don-t.C4ag3Dun.webp)

Don’t inset a side sheet from the screen edges far beyond the recommended margin. This makes the sheet’s position and scroll behavior unclear, while obscuring primary content.
:::

## Anatomy

![4 elements of a standard side sheet.](/assets/28722dc7-meqrqfpt-06.C643WFsX.webp)

1. Divider (optional)
2. Headline
3. Container
4. Close icon button

![7 elements of a modal side sheet.](/assets/2f1df905-meqrrjh7-07.4xfIgD5c.webp)

1. Back icon button (optional)
2. Headline
3. Container 
4. Close icon button
5. Divider (optional) 
6. Action buttons (optional) 
7. Scrim

### Container

Side sheet containers hold all side sheet elements. Their size is determined by the space those elements occupy.<br> <br>The container is the only required element of a side sheet.

![A modal side sheet’s container.](/assets/fdf40fe7-meqsampe-08.DE40cZhN.webp)

1. Container

### Back icon button (optional)

[Icon buttons](../icon-buttons/overview.md "Icon buttons help people take minor actions with one tap.") can provide ways to exit a side sheet or move to a different experience.<br><br>Because the primary content behind or beside a side sheet is always visible, it’s important to provide affordances for leaving a side sheet and returning to the primary content.

![Back icon button on the upper left of a modal side sheet.](/assets/f1440b07-meqsgqgs-09.kVsJKGEs.webp)

1. Back icon button

### Close icon button (optional)

A close affordance provides a consistent method for dismissing a side sheet. 

A close icon button is highly recommended, increases [accessibility](../../foundations/overview/principles.md "Accessible design makes products usable for people with all kinds of abilities."), and makes [focused](../../foundations/interaction/states/applying-states.md#bc6d6853-48ef-490e-8076-448e89e69f0f "A focused state communicates when a user has highlighted an element, using an input method such as a keyboard or voice.") side sheets easier to close.

![Close icon button on the upper right of a modal side sheet.](/assets/06b140c1-meqsns8t-10.CMk29J9q.webp)

1. Close icon button

### Action buttons (optional)

[Buttons](../buttons/overview.md "Buttons let people take action and make choices with one tap.") represent actions available from a side sheet. Examples: **Save**, **Edit**, **Download**

Use [elevation](../../styles/elevation/overview.md "Elevation is the distance between two surfaces on the z-axis"), fill, and [tone](../../styles/color/system/how-the-system-works.md#dc7848f3-b094-4f9a-9e50-bfa5a5029617 "Tone is how light or dark a color appears. Tone is sometimes also referred to as luminance.") to call attention to specific actions.

![Save and cancel buttons at the bottom of a modal side sheet.](/assets/2d5a4bb2-meqsw3fe-11.D2ibqEm5.webp)

1. Action buttons

### Divider (optional)

[Dividers](../divider/overview.md "Dividers are thin lines that group content in lists or other containers.") can separate different kinds of content and create distinct regions in a side sheet. <br><br>

Use a divider to separate:

* Action buttons from content
* User-generated content from system-generated content

![Horizontal divider on a modal side sheet.](/assets/38f638c2-meqsz2ma-12.CA4vRO69.webp)

1. Divider

### Content (optional)

Side sheets can display a wide variety of content and [layouts](../../foundations/layout/layout-overview/overview.md "Layout is the visual arrangement of elements on the screen."), ranging from a [list](../lists/overview.md "Lists are continuous, vertical indexes of text and images.") of actions to supplemental content in a tabular layout.

![2 side sheets with different content displayed side by side.](/assets/fd610309-meqt0pai-13.k4gXHzSQ.webp)

Form controls shown in a side sheet for app settings

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flw8ytzch-GM3-Components-SideSheets-Guidelines-1-v01.mp4?alt=media" aria-label="As a small screen changes to a larger size the modal side sheet transitions to a standard side sheet."></video>

Modal side sheets on smaller screens can transition to standard side sheets at larger screen sizes

## Adaptive design

Side sheets have a default width, but can be resized depending on the needs of the [layout](../../foundations/layout/layout-overview/overview.md "Layout is the visual arrangement of elements on the screen."). <br><br>When a standard side sheet opens, the body area shrinks to accommodate the sheet’s width while maintaining a [margin](../../foundations/layout/layout-overview/overview.md#38a538d7-991f-4c39-8449-195d32caf397 "Margins are the spaces between the edge of a nested element and its parent element, such as the space between a button's label text and the edge of its container.") on the body’s trailing edge.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flw8yw08l-GM3-Components-SideSheets-Guidelines-2-v01.mp4?alt=media" aria-label="Body area of a screen adjusts to accommodate entrance and exit of side sheet."></video>

Entrance of standard side sheets will cause the body area to adjust and accommodate the new content

### RTL language support

In right-to-left (RTL) languages, side sheets should appear on the left edge of the window with all elements reversed.

![Side sheet along the left edge of a screen. All buttons and icons are reversed.](/assets/3305f9e6-meqwb27c-16.DAG0UOke.webp)

Side sheet elements are reversed in RTL languages

## Behavior

Side sheets can vertically scroll independent of the rest of the UI. 

This allows their scroll position and content to persist while the page is scrolled, and vice versa.<br><br>Side sheets cannot scroll horizontally.

::: tip Do
<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flw8yz6fq-GM3-Components-SideSheets-Guidelines-3-v01.mp4?alt=media" aria-label="Animation showing a side sheet being scrolled vertically to view all the options."></video>

Side sheets can vertically scroll internally when their content exceeds the screen height
:::

::: danger Don't
![A side sheet appears to scroll horizontally.](/assets/b3321d62-lw8z3x56-19_don-t.cKa6ZTB1.webp)

Don’t allow horizontal scrolling or lay out the side sheet in a way that suggests horizontal scrolling. A side sheet’s narrow width leaves limited space to fully view items.
:::

### Predictive back

On Android, a [gesture](../../foundations/interaction/gestures.md "Gestures are all the ways people interact with UI elements using touch.") called [predictive back](https://github.com/material-components/material-components-android/blob/master/docs/foundations/PredictiveBack.md) allows a person to swipe left or right on the side sheet. 

When predictive back is used:

* The side sheet detaches from the top and bottom edges of the screen to signal it will close
* The previous screen is revealed in a preview
* The side sheet and its content always scales in the direction of the gesture

[Find a list of compatible components](../../foundations/interaction/gestures.md#22462fb2-fbe8-4e0c-b3e7-9278bd18ea0d)

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flw8z7v0k-GM3-Components-SideSheets-Guidelines-4-v02.mp4?alt=media" aria-label="Swiping to go back shows a preview of the previous screen."></video>

Preview of the result of the gestures: release to commit, fling to commit, and cancel
