The margin-block-end CSS property defines the logical block end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation.
margin-block-end
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
* Some parts of this feature may have varying levels of support.
Try it
margin-block-end: 20px; writing-mode: horizontal-tb;
margin-block-end: 20px; writing-mode: vertical-rl;
margin-block-end: 20%; writing-mode: horizontal-tb;
margin-block-end: 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: #ffffff;
flex-shrink: 0;
}
#example-element {
border: solid 10px #ffbf00;
background-color: #2b3a55;
}
Syntax
/* <length> values */ margin-block-end: 10px; /* An absolute length */ margin-block-end: 1em; /* relative to the text size */ margin-block-end: 5%; /* relative to the nearest block container's width */ margin-block-end: anchor-size(inline); margin-block-end: calc(anchor-size(--myAnchor block, 20px) / 4); /* Keyword values */ margin-block-end: auto; /* Global values */ margin-block-end: inherit; margin-block-end: initial; margin-block-end: revert; margin-block-end: revert-layer; margin-block-end: unset;
It corresponds to the margin-top, margin-right, margin-bottom, or margin-left property depending on the values defined for writing-mode, direction, and text-orientation.
It relates to margin-block-start, margin-inline-start, and margin-inline-end, which define the other margins of the element.
Values
The margin-block-end property takes the same values as the margin-left property.
Formal definition
| Initial value | 0 |
|---|---|
| Applies to | same as margin
|
| Inherited | no |
| Percentages | depends on layout model |
| Computed value | if specified as a length, the corresponding absolute length; if specified as a percentage, the specified value; otherwise, auto
|
| Animation type | a length |
Formal syntax
margin-block-end =
<'margin-top'>
<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
Examples
Setting block end margin
HTML
<div> <p class="exampleText">Example text</p> </div>
CSS
div {
background-color: yellow;
width: 120px;
height: 120px;
}
.exampleText {
writing-mode: vertical-rl;
margin-block-end: 20px;
background-color: #c8c800;
}
Result
Specifications
Browser compatibility
| Desktop | Mobile | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | |
margin-block-end |
69 | 79 | 41 | 56 | 12.1 | 69 | 41 | 48 | 12.2 | 10.0 | 69 |
anchor-size |
132 | 132 | No | 117 | No | 132 | No | 87 | No | No | 132 |
See also
- CSS Logical Properties and Values
- The mapped physical properties:
margin-top,margin-right,margin-bottom, andmargin-left -
writing-mode,direction,text-orientation
© 2005–2024 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-end