Skip to main content
VelinStyle v0.8.0
  1. Docs
  2. Layout
  3. Grid

Grid

VelinStyle's grid is built on native CSS Grid. Use .velin-grid with column helpers to create complex, responsive layouts with minimal markup.

How It Works

Apply .velin-grid to a parent element. It sets display: grid and a configurable gap. Then use .velin-cols-{n} to define how many columns the grid should have, from 1 to 12.

<div class="velin-grid velin-cols-3">
  <div>Column 1</div>
  <div>Column 2</div>
  <div>Column 3</div>
</div>
Column 1
Column 2
Column 3

Column Counts

Use .velin-cols-1 through .velin-cols-12 to set the number of equal-width grid columns.

<div class="velin-grid velin-cols-2">
  <div>1</div>
  <div>2</div>
</div>

<div class="velin-grid velin-cols-4">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>

<div class="velin-grid velin-cols-6">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
</div>
1
2
1
2
3
4
1
2
3
4
5
6

Responsive Columns

Combine breakpoint infixes for responsive grids: .velin-cols-1 .velin-cols-md-2 .velin-cols-lg-4.

<div class="velin-grid velin-cols-1 velin-cols-md-2 velin-cols-lg-4">
  <div>Item A</div>
  <div>Item B</div>
  <div>Item C</div>
  <div>Item D</div>
</div>
Item A
Item B
Item C
Item D

Auto-fit & Auto-fill

For intrinsically responsive grids without breakpoints, use .velin-grid--auto-fit or .velin-grid-auto-fill. These use repeat(auto-fit, minmax(...)) and repeat(auto-fill, minmax(...)) respectively.

<!-- Auto-fit: items stretch to fill available space -->
<div class="velin-grid velin-grid--auto-fit" style="--velin-grid-min: 200px">
  <div>Card 1</div>
  <div>Card 2</div>
  <div>Card 3</div>
  <div>Card 4</div>
  <div>Card 5</div>
</div>

<!-- Auto-fill: empty tracks are preserved -->
<div class="velin-grid velin-grid-auto-fill" style="--velin-grid-min: 200px">
  <div>Card 1</div>
  <div>Card 2</div>
</div>

auto-fit

1
2
3
4
5

auto-fill

1
2

Spanning Columns & Rows

Use .velin-col-span-{n} and .velin-row-span-{n} on grid children to span multiple tracks.

<div class="velin-grid velin-cols-4">
  <div class="velin-col-span-2">Spans 2 cols</div>
  <div>Normal</div>
  <div>Normal</div>
  <div class="velin-col-span-3">Spans 3 cols</div>
  <div>Normal</div>
</div>
Spans 2 cols
Normal
Normal
Spans 3 cols
Normal

Theme wählen