Concepts
OverviewCompositionTestingLayout
Aspect RatioBleedBoxCenterContainerDividerFlexFloatGridLink OverlayScrollableStackWrapComponents
AccordionAdmonitionAvatarButtonCheckboxComboboxConfirm ModalCTAModalDate PickerDialogFieldFieldsetFile UploaderIcon ButtonInputLoading StatesMenuNotificationsProgressPrompt ModalRadioRatingSelectSwitchTableTabsTagTextTextareaToggleTooltipUtilities
Feature FlagsForLocal StoragePortalShowsplitPropsTheme1import { Grid } from "styled-system/jsx"2import { DecorativeBox } from "compositions/lib/decorative-box"3
4const Demo = () => {5 return (6 <Grid templateColumns="repeat(3, 1fr)" gap="6">7 <DecorativeBox h="20" />8 <DecorativeBox h="20" />9 <DecorativeBox h="20" />10 </Grid>11 )12}
Usage
1import { Grid, GridItem } from "styled-system/jsx""
1<Grid>2 <GridItem />3 <GridItem />4</Grid>
Examples
Col Span
Pass colSpan
prop to GridItem
to span across columns.
1import { Grid, GridItem } from "styled-system/jsx"2import { DecorativeBox } from "compositions/lib/decorative-box"3
4const Demo = () => {5 return (6 <Grid templateColumns="repeat(4, 1fr)" gap="6">7 <GridItem colSpan={2}>8 <DecorativeBox h="20" />9 </GridItem>10 <GridItem colSpan={1}>11 <DecorativeBox h="20" />12 </GridItem>13 <GridItem colSpan={1}>14 <DecorativeBox h="20" />15 </GridItem>16 </Grid>17 )18}
Spanning Columns
In some layouts, you may need certain grid items to span specific amount of columns or rows instead of an even distribution
1import { Grid, GridItem } from "styled-system/jsx"2import { DecorativeBox } from "compositions/lib/decorative-box"3
4const Demo = () => {5 return (6 <Grid7 h="200px"8 templateRows="repeat(2, 1fr)"9 templateColumns="repeat(5, 1fr)"10 gap={4}11 >12 <GridItem rowSpan={2} colSpan={1}>13 <DecorativeBox>rowSpan=2</DecorativeBox>14 </GridItem>15 <GridItem colSpan={2}>16 <DecorativeBox>colSpan=2</DecorativeBox>17 </GridItem>18 <GridItem colSpan={2}>19 <DecorativeBox>colSpan=2</DecorativeBox>20 </GridItem>21 <GridItem colSpan={4}>22 <DecorativeBox>colSpan=4</DecorativeBox>23 </GridItem>24 </Grid>25 )26}
Props
Prop | Type | Description |
---|---|---|
templateColumns | SystemStyleObject['gridTemplateColumns'] | Defines the columns of the grid. |
templateRows | SystemStyleObject['gridTemplateRows'] | Defines the rows of the grid. |
gap | SystemStyleObject['gap'] | Defines the gap between grid items. |
colSpan | number | Number of columns the grid item should span. |
rowSpan | number | Number of rows the grid item should span. |
columns | number | Number of columns in the grid. |
On this page