The Material Components for the web layout grid component
npx @tessl/cli install tessl/npm-material--layout-grid@14.0.0Material Design's responsive grid system implemented as a CSS-only layout component. Provides a column-variate grid layout with 12 columns on desktop, 8 columns on tablet, and 4 columns on phone, following Material Design principles.
npm install @material/layout-grid@use "@material/layout-grid";Import complete CSS classes:
@use "@material/layout-grid/mdc-layout-grid";Import mixins and variables separately:
@use "@material/layout-grid" as grid;<div class="mdc-layout-grid">
<div class="mdc-layout-grid__inner">
<div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-4">
Content for 4 columns
</div>
<div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-4">
Content for 4 columns
</div>
<div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-4">
Content for 4 columns
</div>
</div>
</div>@use "@material/layout-grid/mdc-layout-grid";The layout grid system consists of three core components:
mdc-layout-grid): The main wrapper that defines grid margins and maximum widthmdc-layout-grid__inner): The flex/grid container that manages cell layout and guttersmdc-layout-grid__cell): Individual content areas that can span multiple columnsThe system uses responsive breakpoints:
Core CSS classes for implementing the responsive grid layout.
.mdc-layout-grid // Main grid container
.mdc-layout-grid__inner // Inner grid wrapper
.mdc-layout-grid__cell // Basic grid cellClasses for controlling cell width across different screen sizes.
.mdc-layout-grid__cell--span-{1-12} // Span classes
.mdc-layout-grid__cell--span-{1-12}-{desktop|tablet|phone} // Device-specific spansClasses for controlling cell vertical alignment and visual order.
.mdc-layout-grid__cell--align-{top|middle|bottom} // Vertical alignment
.mdc-layout-grid__cell--order-{1-12} // Visual orderingModifier classes for customizing grid behavior and alignment.
.mdc-layout-grid--fixed-column-width // Fixed width columns
.mdc-layout-grid--align-{left|right} // Grid alignmentProgrammatic mixins for custom grid implementations.
@mixin layout-grid($size, $margin, $max-width: null);
@mixin inner($size, $margin, $gutter);
@mixin cell($size, $default-span, $gutter);Configuration variables and CSS custom properties for theming.
$breakpoints // Responsive breakpoints map
$columns // Column counts per device
$default-margin // Default margin values
$default-gutter // Default gutter values