Columns
import { ApiTable } from "@/components/api-table.tsx"; import { ResponsiveDesign } from "@/components/content.tsx"; import { CustomizingYourTheme } from "@/components/content.tsx"; import { Example } from "@/components/example.tsx"; import { Figure } from "@/components/figure.tsx"; import { Stripes } from "@/components/stripes.tsx"; import { UsingACustomValue } from "@/components/content.tsx";
export const title = "columns"; export const description = "Utilities for controlling the number of columns within an element.";
Examples¶
Setting by number¶
Use columns-<number> utilities like columns-3 to set the number of columns that should be created for the content within an element:
<!-- [!code classes:columns-3] -->
<div class="columns-3 ...">
<img class="aspect-3/2 ..." src="/img/mountains-1.jpg" />
<img class="aspect-square ..." src="/img/mountains-2.jpg" />
<img class="aspect-square ..." src="/img/mountains-3.jpg" />
<!-- ... -->
</div>
The column width will automatically adjust to accommodate the specified number of columns.
Setting by width¶
Use utilities like columns-xs and columns-sm to set the ideal column width for the content within an element:
<!-- [!code classes:columns-3xs] -->
<div class="columns-3xs ...">
<img class="aspect-3/2 ..." src="/img/mountains-1.jpg" />
<img class="aspect-square ..." src="/img/mountains-2.jpg" />
<img class="aspect-square ..." src="/img/mountains-3.jpg" />
<!-- ... -->
</div>
When setting the column width, the number of columns automatically adjusts to ensure they don't get too narrow.
Setting the column gap¶
Use the gap-<width> utilities to specify the width between columns:
<!-- [!code classes:gap-8] -->
<div class="columns-3 gap-8 ...">
<img class="aspect-3/2 ..." src="/img/mountains-1.jpg" />
<img class="aspect-square ..." src="/img/mountains-2.jpg" />
<img class="aspect-square ..." src="/img/mountains-3.jpg" />
<!-- ... -->
</div>
Learn more about the gap utilities in the gap documentation.
Using a custom value¶
Responsive design¶
<!-- [!code classes:sm:gap-8,sm:columns-3] -->
<div class="columns-2 gap-4 sm:columns-3 sm:gap-8 ...">
<img class="aspect-3/2 ..." src="/img/mountains-1.jpg" />
<img class="aspect-square ..." src="/img/mountains-2.jpg" />
<img class="aspect-square ..." src="/img/mountains-3.jpg" />
<!-- ... -->
</div>