This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
* Some parts of this feature may have varying levels of support.
The margin-block CSS shorthand property defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
margin-block: 10px 20px; writing-mode: horizontal-tb;
margin-block: 20px 40px; writing-mode: vertical-rl;
margin-block: 5% 20%; writing-mode: horizontal-tb;
margin-block: 1rem auto; writing-mode: vertical-lr;
<section id="default-example">
<div id="container">
<div class="row">One</div>
<div class="row transition-all" id="example-element">Two</div>
<div class="row">Three</div>
</div>
</section>
#container {
width: 300px;
height: 200px;
display: flex;
align-content: flex-start;
flex-direction: column;
justify-content: flex-start;
}
.row {
height: 33.33%;
display: inline-block;
border: solid #ce7777 10px;
background-color: #2b3a55;
color: white;
flex-shrink: 0;
}
#example-element {
border: solid 10px #ffbf00;
background-color: #2b3a55;
}
This property is a shorthand for the following CSS properties:
/* <length> values */ margin-block: 10px 20px; /* An absolute length */ margin-block: 1em 2em; /* relative to the text size */ margin-block: 5% 2%; /* relative to the nearest block container's width */ margin-block: 10px; /* sets both start and end values */ margin-block: anchor-size(inline); margin-block: calc(anchor-size(width) / 4) 1em; /* Keyword values */ margin-block: auto; /* Global values */ margin-block: inherit; margin-block: initial; margin-block: revert; margin-block: revert-layer; margin-block: unset;
This property corresponds to the margin-top and margin-bottom, or the margin-right and margin-left properties, depending on the values defined for writing-mode, direction, and text-orientation.
The margin-block property may be specified using one or two values.
The margin-block property takes the same values as the margin property.
| Initial value | as each of the properties of the shorthand: |
|---|---|
| Applies to | same as margin
|
| Inherited | no |
| Percentages | depends on layout model |
| Computed value | as each of the properties of the shorthand:
|
| Animation type | a length |
margin-block =
<'margin-top'>{1,2}
<margin-top> =
<length-percentage> |
auto |
<anchor-size()>
<length-percentage> =
<length> |
<percentage>
<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )
<anchor-name> =
<dashed-ident>
<anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline
div {
background-color: yellow;
width: 120px;
height: auto;
border: 1px solid green;
}
p {
margin: 0;
margin-block: 20px 40px;
background-color: tan;
}
.verticalExample {
writing-mode: vertical-rl;
}
<div> <p>Example text</p> </div> <div class="verticalExample"> <p>Example text</p> </div>
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
margin-block |
87 | 87 | 66 | 73 | 14.1 | 87 | 66 | 62 | 14.5 | 14.0 | 87 | 14.5 |
anchor-size |
132 | 132 | No | 117 | 26 | 132 | No | 87 | 26 | No | 132 | 26 |
margin-top, margin-right, margin-bottom, and margin-left
writing-mode, direction, text-orientation
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/margin-block