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.
Design
lightning-layout implements styling from the grid utility classes in the Lightning Design System.
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.
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".
Customize the layout by setting the horizontal-align, vertical-align, and pull-to-boundary attributes.
horizontal-align
Spread layout items out horizontally based on these values.
center: Appends the slds-grid_align-center class 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 the slds-grid_align-space class to the grid. The layout items are spaced horizontally across the container, starting and ending with a space.
spread: Appends the slds-grid_align-spread class to the grid. The layout items are spaced horizontally across the container, starting and ending with a layout item.
end: Appends the slds-grid_align-end class to the grid. The layout items are grouped together and aligned horizontally on the right side of the container.
vertical-align
Spread layout items out vertically based on these values.
start: Appends the slds-grid_vertical-align-start class to the grid. The layout items are aligned at the top of the container.
center: Appends the slds-grid_vertical-align-center class to the grid. The layout items are aligned in the center of the container.
end: Appends the slds-grid_vertical-align-end class to the grid. The layout items are aligned at the bottom of the container.
stretch: Appends the slds-grid_vertical-stretch class to the grid. The layout items extend vertically to fill the container.
pull-to-boundary
Pull layout items to the layout boundaries based on these values.
small: Appends the slds-grid_pull-padded class to the grid.
medium: Appends the slds-grid_pull-padded-medium class to the grid.
large: Appends the slds-grid_pull-padded-large class 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.
Usage Considerations
This example creates the same layout shown in Create Columns,
which creates two columns with fixed widths.