Grid — Lanes
A CSS-grid system for auto-flow layouts: .ng-grid + .ng-lanes-*. Built for card decks and dashboards. For 12-column page layouts use Grid — Flex.
Where Flex sizes each column by hand, Lanes lay items into tracks and let them flow automatically. You set the number of lanes (or a minimum item width) on the grid; children drop into place. Mobile: below sm a grid collapses to a single column — add ng-mobile-grid to keep the lanes on small screens.
Fixed lanes
Set the number of equal tracks with ng-lanes-1 … ng-lanes-12; items flow across them. Spacing is set with ng-gap-* on the grid.
<div class="ng-grid ng-lanes-3 ng-gap-md">
<div class="nxi-grid-cell">1</div>
<div class="nxi-grid-cell">2</div>
<div class="nxi-grid-cell">3</div>
<div class="nxi-grid-cell">4</div>
<div class="nxi-grid-cell">5</div>
<div class="nxi-grid-cell">6</div>
</div>
Auto lanes
Instead of a fixed count, give a minimum item width with ng-autolanes-{xs…xl}. The grid fits as many tracks as it can and reflows on resize — no breakpoints needed.
<div class="ng-grid ng-autolanes-m ng-gap-md">
<div class="nxi-grid-cell">auto</div>
<div class="nxi-grid-cell">auto</div>
<div class="nxi-grid-cell">auto</div>
<div class="nxi-grid-cell">auto</div>
<div class="nxi-grid-cell">auto</div>
</div>
Min widths
ng-autolanes-xs · 140 ng-autolanes-s · 180 ng-autolanes-m · 220 ng-autolanes-l · 280 ng-autolanes-xl · 340 Spanning lanes
Make an item occupy more than one track with ng-wide-{n} (per-breakpoint via ng-wide-<bp>-<n>). Ideal for a featured tile in a deck.
<div class="ng-grid ng-lanes-3 ng-gap-md">
<div class="nxi-grid-cell ng-wide-2">ng-wide-2 (spans two lanes)</div>
<div class="nxi-grid-cell">1</div>
<div class="nxi-grid-cell">1</div>
<div class="nxi-grid-cell">1</div>
</div>
Responsive lanes
Change the track count per breakpoint: ng-lanes-<bp>-<n>. Here two lanes on mobile become four from md up.
<div class="ng-grid ng-lanes-2 ng-lanes-md-4 ng-gap-md">
<div class="nxi-grid-cell">2 → md-4</div>
<div class="nxi-grid-cell">2 → md-4</div>
<div class="nxi-grid-cell">2 → md-4</div>
<div class="nxi-grid-cell">2 → md-4</div>
</div>
Use case — dashboard
Auto lanes shine for widget decks: cards keep a comfortable minimum width and reflow to fill the space at any viewport.
<div class="ng-grid ng-autolanes-l ng-gap-lg">
<div class="ng-card"><div class="ng-card-body">Widget A</div></div>
<div class="ng-card"><div class="ng-card-body">Widget B</div></div>
<div class="ng-card"><div class="ng-card-body">Widget C</div></div>
<div class="ng-card"><div class="ng-card-body">Widget D</div></div>
</div>
Alignment
Distribute and align the tracks/items within the grid.
Flow (horizontal) & stack (vertical)
ng-flow-start ng-flow-center ng-flow-end ng-flow-between ng-flow-around ng-flow-evenly ng-stack-start ng-stack-center ng-stack-end ng-stack-stretch ng-self-{k} Reference
Gap
ng-gap-0 ng-gap-xs ng-gap-sm ng-gap-md ng-gap-lg ng-gap-xl ng-gap-<bp>-<k> Core classes
ng-grid ng-lanes-1 … 12 ng-lanes-<bp>-<n> ng-autolanes-{xs…xl} ng-wide-{n} ng-mobile-grid ng-box