src/docs/align-items.mdx
import { ApiTable } from "@/components/api-table.tsx"; import { Example } from "@/components/example.tsx"; import { Figure } from "@/components/figure.tsx"; import { ResponsiveDesign } from "@/components/content.tsx"; import { Stripes } from "@/components/stripes.tsx";
export const title = "align-items"; export const description = "Utilities for controlling how flex and grid items are positioned along a container's cross axis.";
<ApiTable rows={[ ["items-start", "align-items: flex-start;"], ["items-end", "align-items: flex-end;"], ["items-end-safe", "align-items: safe flex-end;"], ["items-center", "align-items: center;"], ["items-center-safe", "align-items: safe center;"], ["items-baseline", "align-items: baseline;"], ["items-baseline-last", "align-items: last baseline;"], ["items-stretch", "align-items: stretch;"], ]} />
Use the items-stretch utility to stretch items to fill the container's cross axis:
<!-- [!code classes:items-stretch] -->
<div class="flex items-stretch ...">
<div class="py-4">01</div>
<div class="py-12">02</div>
<div class="py-8">03</div>
</div>
Use the items-start utility to align items to the start of the container's cross axis:
<!-- [!code classes:items-start] -->
<div class="flex items-start ...">
<div class="py-4">01</div>
<div class="py-12">02</div>
<div class="py-8">03</div>
</div>
Use the items-center utility to align items along the center of the container's cross axis:
<!-- [!code classes:items-center] -->
<div class="flex items-center ...">
<div class="py-4">01</div>
<div class="py-12">02</div>
<div class="py-8">03</div>
</div>
Use the items-end utility to align items to the end of the container's cross axis:
<!-- [!code classes:items-end] -->
<div class="flex items-end ...">
<div class="py-4">01</div>
<div class="py-12">02</div>
<div class="py-8">03</div>
</div>
Use the items-baseline utility to align items along the container's cross axis such that all of their baselines align:
<!-- [!code classes:items-baseline] -->
<div class="flex items-baseline ...">
<div class="pt-2 pb-6">01</div>
<div class="pt-8 pb-12">02</div>
<div class="pt-12 pb-4">03</div>
</div>
Use the items-baseline-last utility to align items along the container's cross axis such that all of their baselines align with the last baseline in the container:
<div className="font-semibold text-gray-900 sm:col-start-2 dark:text-white">Spencer Sharp</div>
<p className="text-sm sm:col-start-2">Working on the future of astronaut recruitment at Space Recruit.</p>
</div>
<a
href="#"
className="font-mono text-xs font-medium text-gray-400 underline hover:text-blue-500 dark:text-gray-500"
>
spacerecruit.com
</a>
</div>
<div className="grid grid-cols-[1fr_auto] items-baseline-last gap-x-4 px-4 py-6">
<div className="grid grid-cols-[auto_1fr] gap-x-4 max-sm:grid-cols-1">
<div className="font-semibold text-gray-900 sm:col-start-2 dark:text-white">Alex Reed</div>
<p className="text-sm sm:col-start-2">A multidisciplinary designer.</p>
</div>
<a
href="#"
className="font-mono text-xs font-medium text-gray-400 underline hover:text-blue-500 dark:text-gray-500"
>
alex-reed.com
</a>
</div>
</div>
} </Example>
<!-- [!code classes:items-baseline-last] -->
<div class="grid grid-cols-[1fr_auto] items-baseline-last">
<div>
<h4>Spencer Sharp</h4>
<p>Working on the future of astronaut recruitment at Space Recruit.</p>
</div>
<p>spacerecruit.com</p>
</div>
This is useful for ensuring that text items align with each other, even if they have different heights.