Aller au contenu

Inline size

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.";

", "inline-size: calc(var(--spacing) * \);"], ["inline-\", "inline-size: calc(\ * 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-(\)", "inline-size: var(\);"], ["inline-[\]", "inline-size: \;"], ]} />

Examples

Basic example

Use inline-<number> utilities like inline-24 and inline-64 to set an element to a fixed inline size based on the spacing scale:

{
inline-96
inline-80
inline-64
inline-48
inline-40
inline-32
}
<!-- [!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>

Using a percentage

Use inline-full or inline-<fraction> utilities like inline-1/2 and inline-2/5 to give an element a percentage-based inline size:

{
inline-1/2
inline-1/2
inline-2/5
inline-3/5
inline-1/3
inline-2/3
inline-full
}
<!-- [!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>

Using the container scale

Use utilities like inline-sm and inline-xl to set an element to a fixed inline size based on the container scale:

{
inline-xl
inline-lg
inline-md
inline-sm
inline-xs
inline-2xs
inline-3xs
}
<!-- [!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>

Matching the viewport

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>

Resetting the inline size

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>

Using a custom value

Responsive design

Customizing your theme