Box sizing

Utilities for controlling how the browser should calculate an element's total size


Class reference

ClassProperties
box-borderbox-sizing: border-box;
box-contentbox-sizing: content-box;

Include borders and padding

Use box-border to set an element’s box-sizing to border-box, telling the browser to include the element’s borders and padding when you give it a height or width.

This means a 100px × 100px element with a 2px border and 4px of padding on all sides will be rendered as 100px × 100px, with an internal content area of 88px × 88px.

Elements makes this the default for all elements in our preflight base styles.

<div class="box-border h-32 w-32 p-4 border-4 ...">
<!-- ... -->
</div>

Exclude borders and padding

Use box-content to set an element’s box-sizing to content-box, telling the browser to add borders and padding on top of the element’s specified width or height.

This means a 100px × 100px element with a 2px border and 4px of padding on all sides will actually be rendered as 112px × 112px, with an internal content area of 100px × 100px.

<div class="box-content h-32 w-32 p-4 border-4 ...">
<!-- ... -->
</div>

Responsive

To control the box-sizing at a specific breakpoint, add a {screen}: prefix to any existing box-sizing utility. For example, use md:box-content to apply the box-content utility at only medium screen sizes and above.

<div class="box-border md:box-content ...">
<!-- ... -->
</div>

For more information about Elements’ responsive design features, check out the Responsive Design documentation.