src/docs/inline-size.mdx
import { ApiTable } from "@/components/api-table.tsx"; import { CustomizingYourSpacingScale, ResponsiveDesign, UsingACustomValue } from "@/components/content.tsx"; import { Example } from "@/components/example.tsx"; import { Figure } from "@/components/figure.tsx";
export const title = "inline-size"; export const description = "Utilities for setting the inline size of an element.";
<ApiTable rows={[ ["inline-<number>", "inline-size: calc(var(--spacing) * <number>);"], ["inline-<fraction>", "inline-size: calc(<fraction> * 100%);"], ["inline-3xs", "inline-size: var(--container-3xs); /* 16rem (256px) /"], ["inline-2xs", "inline-size: var(--container-2xs); / 18rem (288px) /"], ["inline-xs", "inline-size: var(--container-xs); / 20rem (320px) /"], ["inline-sm", "inline-size: var(--container-sm); / 24rem (384px) /"], ["inline-md", "inline-size: var(--container-md); / 28rem (448px) /"], ["inline-lg", "inline-size: var(--container-lg); / 32rem (512px) /"], ["inline-xl", "inline-size: var(--container-xl); / 36rem (576px) /"], ["inline-2xl", "inline-size: var(--container-2xl); / 42rem (672px) /"], ["inline-3xl", "inline-size: var(--container-3xl); / 48rem (768px) /"], ["inline-4xl", "inline-size: var(--container-4xl); / 56rem (896px) /"], ["inline-5xl", "inline-size: var(--container-5xl); / 64rem (1024px) /"], ["inline-6xl", "inline-size: var(--container-6xl); / 72rem (1152px) /"], ["inline-7xl", "inline-size: var(--container-7xl); / 80rem (1280px) */"], ["inline-auto", "inline-size: auto;"], ["inline-px", "inline-size: 1px;"], ["inline-full", "inline-size: 100%;"], ["inline-screen", "inline-size: 100vw;"], ["inline-dvw", "inline-size: 100dvw;"], ["inline-dvh", "inline-size: 100dvh;"], ["inline-lvw", "inline-size: 100lvw;"], ["inline-lvh", "inline-size: 100lvh;"], ["inline-svw", "inline-size: 100svw;"], ["inline-svh", "inline-size: 100svh;"], ["inline-min", "inline-size: min-content;"], ["inline-max", "inline-size: max-content;"], ["inline-fit", "inline-size: fit-content;"], ["inline-(<custom-property>)", "inline-size: var(<custom-property>);"], ["inline-[<value>]", "inline-size: <value>;"], ]} />
Use inline-<number> utilities like inline-24 and inline-64 to set an element to a fixed inline size based on the spacing scale:
<!-- [!code classes:inline-96,inline-80,inline-64,inline-48,inline-40,inline-32,inline-24] -->
<div class="inline-96 ...">inline-96</div>
<div class="inline-80 ...">inline-80</div>
<div class="inline-64 ...">inline-64</div>
<div class="inline-48 ...">inline-48</div>
<div class="inline-40 ...">inline-40</div>
<div class="inline-32 ...">inline-32</div>
Use inline-full or inline-<fraction> utilities like inline-1/2 and inline-2/5 to give an element a percentage-based inline size:
<!-- [!code classes:inline-1/2,inline-2/5,inline-3/5,inline-1/3,inline-2/3,inline-full] -->
<div class="flex ...">
<div class="inline-1/2 ...">inline-1/2</div>
<div class="inline-1/2 ...">inline-1/2</div>
</div>
<div class="flex ...">
<div class="inline-2/5 ...">inline-2/5</div>
<div class="inline-3/5 ...">inline-3/5</div>
</div>
<div class="flex ...">
<div class="inline-1/3 ...">inline-1/3</div>
<div class="inline-2/3 ...">inline-2/3</div>
</div>
<div class="inline-full ...">inline-full</div>
Use utilities like inline-sm and inline-xl to set an element to a fixed inline size based on the container scale:
<!-- [!code classes:inline-xl,inline-lg,inline-md,inline-sm,inline-xs,inline-2xs,inline-3xs] -->
<div class="inline-xl ...">inline-xl</div>
<div class="inline-lg ...">inline-lg</div>
<div class="inline-md ...">inline-md</div>
<div class="inline-sm ...">inline-sm</div>
<div class="inline-xs ...">inline-xs</div>
<div class="inline-2xs ...">inline-2xs</div>
<div class="inline-3xs ...">inline-3xs</div>
Use the inline-screen utility to make an element span the entire inline size of the viewport:
<!-- [!code classes:inline-screen] -->
<div class="inline-screen">
<!-- ... -->
</div>
Use the inline-auto utility to remove an element's assigned inline size under a specific condition, like at a particular breakpoint:
<!-- [!code classes:inline-full,inline-auto] -->
<div class="inline-full md:inline-auto">
<!-- ... -->
</div>