Layout
lightning-layout
Represents a responsive grid system for arranging containers on a page.
For Use In
Lightning Experience, Experience Builder Sites, Salesforce Mobile App, Lightning Out (Beta), Standalone Lightning App, Mobile Offline
A lightning-layout is a flexible grid system for arranging containers within
a page or inside another container. The default layout is mobile-first and you can
configure the layout to adapt to different devices.
Create the content of the layout by including lightning-layout-item components
within lightning-layout. You can place HTML tags and text between the lightning-layout-item
components, but you can't place other components or expressions between them.
lightning-layout implements styling from the grid utility classes in the Lightning Design System.
| SLDS 1 | SLDS 2 | |
|---|---|---|
| Design | Utility Classes (Grid) | Utility Classes (Grid) |
| For Use In | Lightning Experience, Experience Builder sites, Salesforce mobile app, Lightning Out (Beta), Standalone Lightning app, Mobile Offline | Lightning Experience |
lightning-layout creates several types of columns for your content.
- Flexible widths that adjust based on their content
- Fixed widths that take up a percentage of the container
Create a simple layout by enclosing single or multiple lightning-layout-item components within lightning-layout. lightning-layout-item creates a column within lightning-layout.
To create columns with widths that adjusts with the content, use flexibility="auto". The horizontal-align attribute determines how to spread the layout items horizontally.
Here’s an example that creates columns with flexible widths.
Set the horizontal alignment to space, which evenly distributes columns horizontally with an equal amount of space separating the columns.
To create columns with fixed widths, use the size attribute on lightning-layout-item. For example, to create two columns where the width of the first column is 33% of the grid container and the second column is 66% of the grid container, use size="4" and size="8".
For more information, see the SLDS grid utility classes, and SLDS sizing utility classes.
Customize the layout by setting the horizontal-align, vertical-align, and pull-to-boundary attributes.
Spread layout items out horizontally based on these values.
center: Appends theslds-grid_align-centerclass to the grid. This attribute orders the layout items into a horizontal line without any spacing, and places the group into the center of the container.space: Appends theslds-grid_align-spaceclass to the grid. The layout items are spaced horizontally across the container, starting and ending with a space.spread: Appends theslds-grid_align-spreadclass to the grid. The layout items are spaced horizontally across the container, starting and ending with a layout item.end: Appends theslds-grid_align-endclass to the grid. The layout items are grouped together and aligned horizontally on the right side of the container.
Spread layout items out vertically based on these values.
start: Appends theslds-grid_vertical-align-startclass to the grid. The layout items are aligned at the top of the container.center: Appends theslds-grid_vertical-align-centerclass to the grid. The layout items are aligned in the center of the container.end: Appends theslds-grid_vertical-align-endclass to the grid. The layout items are aligned at the bottom of the container.stretch: Appends theslds-grid_vertical-stretchclass to the grid. The layout items extend vertically to fill the container.
Pull layout items to the layout boundaries based on these values.
small: Appends theslds-grid_pull-paddedclass to the grid.medium: Appends theslds-grid_pull-padded-mediumclass to the grid.large: Appends theslds-grid_pull-padded-largeclass to the grid.
If padding is used on layout items, this attribute pulls the elements on either
side of the container to the boundary. Choose the size that corresponds to the
padding on your layout items. For instance, if
lightning-layout-item padding="horizontalSmall", choose pull-to-boundary="small".
Use the class or multiple-rows attributes to customize the styling in other
ways.
This example creates the same layout shown in Create Columns, which creates two columns with fixed widths.