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.
Set vertical writing.writing-mode: vertical-rl rotates the axes.
Block becomes horizontal. Lines stack sideways; the block axis is now left–right.
min-block-size follows.150px sets a minimum physical width, not height.
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.
Compatibility
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 Chrome57+
Full support
Mozilla Firefox41+
Full support
Apple Safari12.1+
Full support
Microsoft Edge79+
Full support
Opera44+
Full support
Samsung Internet7.0+
Full support
Internet ExplorerNo support
Not supported
min-block-sizeWidely 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.
Remember
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.