Tailwind CSS Sizing
Controlling element dimensions (width and height) is fundamental to layout. Tailwind provides a rich and consistent set of utility classes for managing element sizes, supporting fixed values, percentages, and viewport-based units.
Width
Use w-{size} utility classes to set an element's width.
Scale-based Width
Tailwind's default theme includes a numeric scale from 0 to 96, plus some special values. This scale is shared with the spacing system.
w-0:width: 0px;w-px:width: 1px;w-4:width: 1rem;(16px)w-64:width: 16rem;(256px)
Percentage Width
Tailwind also provides percentage-based width utilities for creating fluid layouts.
w-1/2:width: 50%;w-1/3:width: 33.333333%;w-2/5:width: 40%;w-full:width: 100%;
Viewport-based Width
w-screen:width: 100vw;(element width equals viewport width)
Special Width
w-auto:width: auto;(browser automatically calculates width)w-min:width: min-content;(width shrinks to minimum content width)w-max:width: max-content;(width expands to maximum content width)w-fit:width: fit-content;
<div class="w-96 ...">I'm 96 units wide.</div>
<div class="w-1/2 ...">I'm half of my parent's width.</div>Height
Use h-{size} utility classes to set an element's height. Height utilities are very similar to width utilities.
Scale-based Height
h-4:height: 1rem;h-64:height: 16rem;
Percentage Height
h-full:height: 100%;(Note: parent element needs to have an explicit height defined)
Viewport-based Height
h-screen:height: 100vh;(element height equals viewport height)
Special Height
h-auto:height: auto;
<div class="h-screen bg-gray-100">
<!-- This div will take up the full screen height -->
</div>Min/Max Sizing
Sometimes you don't want to set a fixed size, but rather limit an element's minimum or maximum size.
Min-Width
Use min-w-{size} to set an element's minimum width.
min-w-0:min-width: 0px;min-w-full:min-width: 100%;min-w-min:min-width: min-content;
Max-Width
Use max-w-{size} to set an element's maximum width. This is very useful for creating responsive containers with content width constraints.
max-w-xs:max-width: 20rem;max-w-7xl:max-width: 80rem;max-w-full:max-width: 100%;max-w-screen-lg:max-width: 1024px;(based on breakpoint)
<div class="max-w-4xl mx-auto p-8">
<!-- This container has a maximum width of 4xl and is horizontally centered -->
... content ...
</div>Min/Max-Height
Similarly, min-h-{size} and max-h-{size} are used to control minimum and maximum height.
min-h-screen: Ensures the element is at least as tall as the screen, commonly used for creating "sticky footer" layouts.max-h-96: Limits the element's maximum height to 96 units, often used withoverflow-y-autoto create scrollable areas.
By combining these sizing utility classes, you can precisely control the size and responsive behavior of every element on your page.