Skip to content

Grid

Modern browsers fully support CSS Grid layout. Compared to traditional grid systems, CSS Grid enables more complex layouts. Default 12-column system with dynamic adjustments via CSS Variables:

VariableDefaultDescription
--ms-rows1Number of grid rows
--ms-columns12Number of grid columns
--ms-gap1.5remGap size between columns

Basic Usage

Create grid layout with .grid class. Child elements use .g-col-* for column spans. Items wrap automatically:

Basic Usage

Responsive Grid

Adapt layouts across breakpoints:

Responsive Grid

Auto Columns

Elements without column classes auto-size:

Auto Columns

This behavior can be mixed with grid column classes:

Mixed Auto Columns

Grid Ordering

Adjust item order with .g-cs-* (column start):

Grid Ordering

Row Spanning

Control vertical spans with .g-row-*:

Row Spanning

Alternatively, use g-rs-*, g-re-* to adjust the start and end rows of the grid item. * is the number 1~6:

Custom row spanning

Custom Grid

Use CSS Variables --ms-rows, --ms-columns to dynamically adjust the number of grid rows and columns:

Custom Grid

Custom Gap

Use CSS Variables --ms-gap to dynamically adjust the spacing between columns:

Custom Gap

Alternatively, if you only adjust the spacing for a specific layout, you can also directly use the built-in Spacing utilities:

Custom Gap

Responsive Layout

Combining the .d-* utilities and responsive prefix, complex responsive layouts can be created:

复杂混合布局

Quick Reference

ClassStyles
.griddisplay: grid
.g-row-1grid-row: span 1 / span 1
.g-row-2grid-row: span 2 / span 2
.g-row-3grid-row: span 3 / span 3
.g-row-4grid-row: span 4 / span 4
.g-row-5grid-row: span 5 / span 5
.g-row-6grid-row: span 6 / span 6
.g-rs-2grid-row-start: 2
.g-rs-3grid-row-start: 3
.g-rs-4grid-row-start: 4
.g-rs-5grid-row-start: 5
.g-rs-6grid-row-start: 6
.g-re-2grid-row-end: 2
.g-re-3grid-row-end: 3
.g-re-4grid-row-end: 4
.g-re-5grid-row-end: 5
.g-re-6grid-row-end: 6
.g-col-1grid-column: auto / span 1
.g-col-2grid-column: auto / span 2
.g-col-3grid-column: auto / span 3
.g-col-4grid-column: auto / span 4
.g-col-5grid-column: auto / span 5
.g-col-6grid-column: auto / span 6
.g-col-7grid-column: auto / span 7
.g-col-8grid-column: auto / span 8
.g-col-9grid-column: auto / span 9
.g-col-10grid-column: auto / span 10
.g-col-11grid-column: auto / span 11
.g-col-12grid-column: auto / span 12
.g-cs-1grid-column-start: 1
.g-cs-2grid-column-start: 2
.g-cs-3grid-column-start: 3
.g-cs-4grid-column-start: 4
.g-cs-5grid-column-start: 5
.g-cs-6grid-column-start: 6
.g-cs-7grid-column-start: 7
.g-cs-8grid-column-start: 8
.g-cs-9grid-column-start: 9
.g-cs-10grid-column-start: 10
.g-cs-11grid-column-start: 11

All classes support responsive prefixes like sm:, md:, lg:, xl: etc.