Liking cljdoc? Tell your friends :D

x-grid

A layout primitive that renders a CSS Grid container. Drop any content into the default slot; the grid layout is driven entirely by attributes.


Tag

<x-grid></x-grid>

Attributes

AttributeTypeDefaultDescription
columnsstringExplicit grid-template-columns value. When set, min-column-size is ignored.
min-column-sizestring"16rem"Minimum column width for the auto-fit/minmax template
gapenum"md"Uniform gap token: none xs sm md lg xl
row-gapenum(inherits gap)Row-only gap override. Same tokens as gap.
column-gapenum(inherits gap)Column-only gap override. Same tokens as gap.
align-itemsenum"stretch"start center end stretch
justify-itemsenum"stretch"start center end stretch
auto-flowenum"row"row column dense row-dense column-dense
inlinebooleanfalseRender as inline-grid instead of grid

Gap token → CSS mapping

TokenCSS value
none0
xs4px
sm8px
md16px
lg24px
xl32px

Slots

SlotDescription
(default)Grid child elements

Template logic

When columns is absent the grid template is:

grid-template-columns: repeat(auto-fit, minmax(<min-column-size>, 1fr));

When columns is present it is used verbatim as the grid-template-columns value.


Examples

Auto-fit responsive columns

<x-grid gap="md">
  <x-card>One</x-card>
  <x-card>Two</x-card>
  <x-card>Three</x-card>
</x-grid>

Explicit 3-column layout

<x-grid columns="3" gap="lg">
  <div>A</div>
  <div>B</div>
  <div>C</div>
</x-grid>

Explicit template string

<x-grid columns="1fr 2fr 1fr" gap="sm">
  <div>Sidebar</div>
  <div>Main</div>
  <div>Aside</div>
</x-grid>

Tight stat row

<x-grid columns="4" gap="sm" align-items="start">
  <x-stat label="Users"   value="1 234"></x-stat>
  <x-stat label="Revenue" value="$9 800"></x-stat>
  <x-stat label="Errors"  value="3"></x-stat>
  <x-stat label="Uptime"  value="99.9%"></x-stat>
</x-grid>

ClojureScript (hiccup renderer)

[:x-grid {:columns "3" :gap "md"}
 [:x-card "Alpha"]
 [:x-card "Beta"]
 [:x-card "Gamma"]]

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close