...
The grid aims for visual consistency between layouts and to provide flexibility across a wide variety of designs.
Anatomy
Our design's responsive UI is based on a 12-column grid layout.
The grid system is implemented with the Grid component. It uses CSS's Flexible Box module for high flexibility.
Item widths are set in percentages, so they're always fluid and sized relative to their parent element.
Items have padding to create the spacing between individual items.
There are 6 grid breakpoints: xxs, xs, sm, md, lg, xl.
Integer values can be given to each breakpoint, indicating how many of the 12 available columns are occupied by the component when the viewport width satisfies the breakpoint constraints.
There are two types of layout: containers and items.
Usage
...
Usage
Do’s
For fluid grid use breakpoints to determine where the page layout has to change.
For basic grid use integer values between 1 and 12
...
to define how many columns
...
will be occupied by the component.
Use the spacing props to control space between children.
Info |
---|
A value given to a breakpoint applies to all the other wider breakpoints |
(unless overridden |
). For example, xs={12} sizes a component to occupy the whole viewport width regardless of its size. |
Info |
---|
Width values given to larger breakpoints override those given to smaller breakpoints. For example, xs={12} sm={6} sizes a component to occupy half of the viewport width (6 columns) when viewport width is 600 or more pixels. For smaller viewports, the component fills all 12 available columns. |
Info |
---|
The spacing value can be any positive number, including decimals and any string. The prop is converted into a CSS property using the theme.spacing() helper. |