2.5 KiB
productId, title, components, githubLabel, materialDesign, githubSource
| productId | title | components | githubLabel | materialDesign | githubSource |
|---|---|---|---|---|---|
| material-ui | React Paper component | Paper | scope: paper | https://m2.material.io/design/environment/elevation.html | packages/mui-material/src/Paper |
Paper
The Paper component is a container for displaying content on an elevated surface.
{{"component": "@mui/docs/ComponentLinkHeader"}}
Introduction
In Material Design, surface components and shadow styles are heavily influenced by their real-world physical counterparts.
Material UI implements this concept with the Paper component, a container-like surface that features the elevation prop for pulling box-shadow values from the theme.
:::success The Paper component is ideally suited for designs that follow Material Design's elevation system, which is meant to replicate how light casts shadows in the physical world.
If you just need a generic container, you may prefer to use the Box or Container components. :::
{{"demo": "SimplePaper.js", "bg": true}}
Component
import Paper from '@mui/material/Paper';
Customization
Elevation
Use the elevation prop to establish hierarchy through the use of shadows.
The Paper component's default elevation level is 1.
The prop accepts values from 0 to 24.
The higher the number, the further away the Paper appears to be from its background.
In dark mode, increasing the elevation also makes the background color lighter.
This is done by applying a semi-transparent gradient with the background-image CSS property.
:::warning
The aforementioned dark mode behavior can lead to confusion when overriding the Paper component, because changing the background-color property won't affect the lighter shading.
To override it, you must either use a new background value, or customize the values for both background-color and background-image.
:::
{{"demo": "Elevation.js", "bg": "outlined"}}
Variants
Set the variant prop to "outlined" for a flat, outlined Paper with no shadows:
{{"demo": "Variants.js", "bg": true}}
Corners
The Paper component features rounded corners by default.
Add the square prop for square corners:
{{"demo": "SquareCorners.js", "bg": true}}
Anatomy
The Paper component is composed of a single root <div> that wraps around its contents:
<div class="MuiPaper-root">
<!-- Paper contents -->
</div>