CSS min-block-size Property

Beginner
5 min read
Updated: Oct 2026
3 examples
Live preview

Definition and Usage

The min-block-size property sets the minimum size of an element along the block axis. In a horizontal writing mode it behaves like min-height. In a vertical writing mode it behaves like min-width.

It is not inherited. The initial value is 0. Pair it with max-block-size for a cap, and with min-inline-size for the other axis. Content can still make the box grow past the minimum.

Logical property.

Standard-track and Baseline Widely available. Prefer min-block-size over min-height when a floor must stay correct for both horizontal and vertical writing modes. fit-content() is experimental here; stretch has limited support.

CSS Syntax

syntax.css
min-block-size: 0 | auto | <length> | <percentage> | min-content | max-content | fit-content | initial | inherit;

Values match min-width / min-height. Newer keywords like stretch have limited support.

Property Values

ValueDescriptionTry it
0Default. No minimum floor on the block axisTry it
<length>Fixed floor such as 150px, 12rem, or 40vhTry it
<percentage>Percent of the containing block’s block sizeTry it
with writing-modeIn vertical mode, min-block-size maps to physical min-widthTry it
initialResets to 0Try it
inheritTakes the parent’s min-block-sizeTry it

How to Use min-block-size

Think in writing-mode terms: set a floor on the block axis, not “always top–bottom.”

  1. Use min-block-size where you would reach for min-height in a horizontal layout.
  2. Pick 0, a length, or a percentage of the containing block.
  3. Add block-size / max-block-size when you also need a preferred size or a cap.
  4. Test with writing-mode if the page may switch to vertical text.
PieceRequired?Role
Block or sized boxYesSame applicability rules as min-height
min-block-size valueYes0, length, percentage, or keyword
Containing block sizeFor %Percentage uses the parent’s block size
writing-modeOptionalChooses whether the floor maps to height or width

Live Preview

Change min-block-size on a short box. In the default horizontal mode, this acts like min-height. Longer content can still grow past the floor.

The outer frame is 220px tall so 50% has a parent block size to resolve against. The sample text is short on purpose.

Box
Short text

min-block-size: 150px

CSS Examples

Each snippet focuses on min-block-size. Use Try It Yourself for a live editor.

Example 1 — Fixed Length Floor

Give a short box a 150px minimum. In horizontal mode this is like min-height.

CSS
<style>
  div {
    min-block-size: 150px;
  }
</style>

<div>Short text</div>
Try It Yourself

How It Works

  1. Set a floor. 150px is the smallest block-axis size allowed.
  2. Horizontal mode. With default writing mode, that floor is physical height.
  3. Short content still fills the floor. The text is shorter than 150px, so the empty space shows the minimum.
  4. Longer content can grow. If the text needs more than 150px, the box can still expand.

Example 2 — Percentage of Parent

Keep a child at least half of the parent’s block size.

CSS
<style>
  .parent {
    block-size: 220px;
  }

  .child {
    min-block-size: 50%;
  }
</style>

<div class="parent">
  <div class="child">At least half</div>
</div>
Try It Yourself

How It Works

  1. Give the parent a block size. 220px defines the containing block.
  2. Use a percentage on the child. 50% resolves to a 110px floor here.
  3. Axis matters. The percent uses the parent’s block size, not inline size.
  4. Same idea as min-height %. In horizontal mode the math matches min-height: 50%.

Example 3 — Vertical Writing Mode

With vertical text, min-block-size maps to physical min-width.

CSS
<style>
  div {
    writing-mode: vertical-rl;
    min-block-size: 150px;
  }
</style>

<div>Hi</div>
Try It Yourself

How It Works

  1. Set vertical writing. writing-mode: vertical-rl rotates the axes.
  2. Block becomes horizontal. Lines stack sideways; the block axis is now left–right.
  3. min-block-size follows. 150px sets a minimum physical width, not height.
  4. Why logical wins. One rule keeps the floor correct when writing mode changes.

Edge Cases & Pitfalls

Most confusion comes from mixing logical floors with physical sizing.

map

Not always the same as min-height

In vertical writing modes, min-block-size maps to min-width. Do not assume it always means a vertical floor.

conflict

Mixing with min-height can conflict

Setting both min-height and min-block-size on the same element can produce unexpected results. Prefer one system.

percent

Percentage needs a sized containing block

Percentages resolve against the containing block’s block size. If the parent’s block size is auto, the percent often acts like 0 — the same trap as min-height: %.

grow

A floor is not a fixed size

Content larger than the minimum still expands the box. Use block-size for a preferred size and max-block-size for a cap.

box

box-sizing still applies

With border-box, padding and border count inside the size. With content-box, they add outside it.

Browser Support

min-block-size is a browser layout property. Node.js, Deno, and Bun do not apply it.

✓ Baseline · Widely available since 2020

min-block-size

Chrome 57+, Firefox 41+, Safari 12.1+, Edge 79+, Opera 44+, Samsung Internet 7+. Same value set as min-width/min-height; stretch and fit-content() remain limited or experimental.

97% Common values
Google Chrome 57+
Full support
Mozilla Firefox 41+
Full support
Apple Safari 12.1+
Full support
Microsoft Edge 79+
Full support
Opera 44+
Full support
Samsung Internet 7.0+
Full support
Internet Explorer No support
Not supported
min-block-size Widely supported

Bottom line: Safe for modern sites. Prefer logical floors when writing-mode flexibility matters. Skip Internet Explorer. Treat fit-content() as experimental and stretch as limited.

Key Takeaways

  • Role: set a minimum on the block axis — like min-height in horizontal mode, like min-width in vertical mode.
  • Common values: 0, lengths, and percentages (same idea as min-height).
  • Initial value: 0. Not inherited. Content can still grow past the floor.
  • Tip: pair with min-inline-size for fully logical minimum sizing.

One line: min-block-size is the logical version of min-height — a floor that follows the writing mode’s block axis.

Frequently Asked Questions

It sets a minimum size on the block axis. In horizontal writing modes it acts like min-height. In vertical writing modes it acts like min-width. The box can still grow when content needs more space.
The initial value is 0. There is no minimum floor until you set one. auto is also a valid value and follows the same rules as min-height: auto.
min-height always sets a minimum vertical size. min-block-size follows writing-mode, so it sets a minimum height in horizontal writing and a minimum width in vertical writing.
Use it when you want a logical floor that stays correct across horizontal and vertical writing modes, or when the rest of the layout already uses logical properties.
No. Percentages resolve against the block size of the containing block.
It is Baseline and widely available: Chrome 57+, Firefox 41+, Safari 12.1+, Edge 79+, Opera 44+. Internet Explorer does not support it. It is a browser layout property, not a Node.js feature.

Next: min-height

Learn the physical property that sets a minimum vertical size.

min-height tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

5 people found this page helpful