Liking cljdoc? Tell your friends :D

<x-bento-grid>

A CSS Grid container for asymmetric "bento box" layouts. Uses dense auto-placement so items of different sizes pack tightly without gaps. Pair with <x-bento-item> to control per-cell spanning.

Tag Name

x-bento-grid

Attributes

AttributeTypeDefaultDescription
columnsinteger (1–12)4Number of grid columns.
gapstring"md"Gap token: none, xs, sm, md, lg, xl.
row-gapstringOverride row gap (same tokens as gap). Falls back to gap.
column-gapstringOverride column gap (same tokens as gap). Falls back to gap.
row-heightstring"auto"CSS value for grid-auto-rows (e.g. "120px", "1fr", "minmax(100px,auto)").

Gap Tokens

TokenCSS Value
none0
xs4px
sm8px
md16px
lg24px
xl32px

Slots

SlotDescription
(default)Grid children. Use <x-bento-item> elements for multi-span cells.

Parts

PartElementDescription
base<div>Inner grid container.

CSS Custom Properties

Custom PropertyDescription
--x-bento-grid-columnsComputed grid-template-columns value.
--x-bento-grid-row-heightComputed grid-auto-rows value.
--x-bento-grid-row-gapComputed row gap in px.
--x-bento-grid-column-gapComputed column gap in px.

Usage

Basic bento layout

<x-bento-grid columns="4" gap="md">
  <x-bento-item col-span="2" row-span="2">
    <x-card variant="elevated" padding="lg">Hero content</x-card>
  </x-bento-item>
  <x-bento-item>
    <x-card variant="outlined" padding="md">Small A</x-card>
  </x-bento-item>
  <x-bento-item>
    <x-card variant="outlined" padding="md">Small B</x-card>
  </x-bento-item>
  <x-bento-item col-span="2">
    <x-card variant="filled" padding="md">Wide banner</x-card>
  </x-bento-item>
</x-bento-grid>

Fixed row height

<x-bento-grid columns="3" gap="sm" row-height="120px">
  <x-bento-item col-span="2" row-span="2">Large</x-bento-item>
  <x-bento-item>Small</x-bento-item>
  <x-bento-item>Small</x-bento-item>
  <x-bento-item col-span="3">Full width</x-bento-item>
</x-bento-grid>

ESM import

import "@vanelsas/baredom/x-bento-grid";
import "@vanelsas/baredom/x-bento-item";

Comparison with x-grid

Featurex-gridx-bento-grid
Column countResponsive (auto-fit)Fixed integer
Auto-flowConfigurableAlways dense
Item spanningNot built-inVia <x-bento-item>
Use caseUniform gridsAsymmetric magazine layouts

Accessibility

This is a purely structural layout component. It does not add ARIA roles. Ensure slotted content is accessible independently.

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