Skip to main content
Version: v5

ion-grid

The grid is a powerful mobile-first flexbox system for building custom layouts.

It is composed of three units — a grid, row(s) and column(s). Columns will expand to fill the row, and will resize to fit additional columns. It is based on a 12 column layout with different breakpoints based on the screen size. The number of columns can be customized using CSS.

See the Responsive Grid documentation for more information.

Usage

<ion-grid>
<ion-row>
<ion-col> ion-col </ion-col>
<ion-col> ion-col </ion-col>
<ion-col> ion-col </ion-col>
<ion-col> ion-col </ion-col>
</ion-row>

<ion-row>
<ion-col size="6"> ion-col [size="6"] </ion-col>
<ion-col> ion-col </ion-col>
<ion-col> ion-col </ion-col>
</ion-row>

<ion-row>
<ion-col size="3"> ion-col [size="3"] </ion-col>
<ion-col> ion-col </ion-col>
<ion-col size="3"> ion-col [size="3"] </ion-col>
</ion-row>

<ion-row>
<ion-col size="3"> ion-col [size="3"] </ion-col>
<ion-col size="3" offset="3"> ion-col [size="3"] [offset="3"] </ion-col>
</ion-row>

<ion-row>
<ion-col> ion-col </ion-col>
<ion-col>
ion-col
<br />#
</ion-col>
<ion-col>
ion-col
<br /># <br />#
</ion-col>
<ion-col>
ion-col
<br /># <br /># <br />#
</ion-col>
</ion-row>

<ion-row>
<ion-col class="ion-align-self-start"> ion-col [start] </ion-col>
<ion-col class="ion-align-self-center"> ion-col [center] </ion-col>
<ion-col class="ion-align-self-end"> ion-col [end] </ion-col>
<ion-col>
ion-col
<br /># <br />#
</ion-col>
</ion-row>

<ion-row class="ion-align-items-start">
<ion-col> [start] ion-col </ion-col>
<ion-col> [start] ion-col </ion-col>
<ion-col class="ion-align-self-end"> [start] ion-col [end] </ion-col>
<ion-col>
ion-col
<br /># <br />#
</ion-col>
</ion-row>

<ion-row class="ion-align-items-center">
<ion-col> [center] ion-col </ion-col>
<ion-col> [center] ion-col </ion-col>
<ion-col> [center] ion-col </ion-col>
<ion-col>
ion-col
<br /># <br />#
</ion-col>
</ion-row>

<ion-row class="ion-align-items-end">
<ion-col> [end] ion-col </ion-col>
<ion-col class="ion-align-self-start"> [end] ion-col [start] </ion-col>
<ion-col> [end] ion-col </ion-col>
<ion-col>
ion-col
<br /># <br />#
</ion-col>
</ion-row>

<ion-row>
<ion-col size="12" size-sm> ion-col [size="12"] [size-sm] </ion-col>
<ion-col size="12" size-sm> ion-col [size="12"] [size-sm] </ion-col>
<ion-col size="12" size-sm> ion-col [size="12"] [size-sm] </ion-col>
<ion-col size="12" size-sm> ion-col [size="12"] [size-sm] </ion-col>
</ion-row>

<ion-row>
<ion-col size="12" size-md> ion-col [size="12"] [size-md] </ion-col>
<ion-col size="12" size-md> ion-col [size="12"] [size-md] </ion-col>
<ion-col size="12" size-md> ion-col [size="12"] [size-md] </ion-col>
<ion-col size="12" size-md> ion-col [size="12"] [size-md] </ion-col>
</ion-row>

<ion-row>
<ion-col size="6" size-lg offset="3"> ion-col [size="6"] [size-lg] [offset="3"] </ion-col>
<ion-col size="3" size-lg> ion-col [size="3"] [size-lg] </ion-col>
</ion-row>
</ion-grid>

Properties

fixed

DescriptionIf true, the grid will have a fixed width based on the screen size.
Attributefixed
Typeboolean
Defaultfalse

Events

No events available for this component.

Methods

No public methods available for this component.

CSS Shadow Parts

No CSS shadow parts available for this component.

CSS Custom Properties

NameDescription
--ion-grid-paddingPadding for the Grid
--ion-grid-padding-lgPadding for the Grid on lg screens
--ion-grid-padding-mdPadding for the Grid on md screens
--ion-grid-padding-smPadding for the Grid on sm screens
--ion-grid-padding-xlPadding for the Grid on xl screens
--ion-grid-padding-xsPadding for the Grid on xs screens
--ion-grid-widthWidth of the fixed Grid
--ion-grid-width-lgWidth of the fixed Grid on lg screens
--ion-grid-width-mdWidth of the fixed Grid on md screens
--ion-grid-width-smWidth of the fixed Grid on sm screens
--ion-grid-width-xlWidth of the fixed Grid on xl screens
--ion-grid-width-xsWidth of the fixed Grid on xs screens

Slots

No slots available for this component.

View Source