margin-bottom

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

* 此特性的某些部分可能存在不同级别的支持。

margin-bottom CSS 属性设置元素底部的外边距区域。正值会使其远离相邻元素,而负值会使其更靠近相邻元素。

试一试

margin-bottom: 1em;
margin-bottom: 10%;
margin-bottom: 10px;
margin-bottom: 0;
<section id="default-example">
  <div id="container">
    <div class="row"></div>
    <div class="row transition-all" id="example-element"></div>
    <div class="row"></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;
  flex-shrink: 0;
}

#example-element {
  border: solid 10px #ffbf00;
  background-color: #2b3a55;
}

The effect of the CSS margin-bottom property on the element box

此属性对非替换内联元素(例如 <span><code>)没有影响。

语法

css
/* <length> values */
margin-bottom: 10px; /* An absolute length */
margin-bottom: 1em; /* relative to the text size */
margin-bottom: 5%; /* relative to the nearest block container's width */
margin-bottom: anchor-size(width);
margin-bottom: calc(anchor-size(--my-anchor self-block, 20px) / 3);

/* Keyword values */
margin-bottom: auto;

/* Global values */
margin-bottom: inherit;
margin-bottom: initial;
margin-bottom: revert;
margin-bottom: revert-layer;
margin-bottom: unset;

margin-bottom 属性可以指定为关键字 auto,或 <length>,或 <percentage>。其值可以是正值、零或负值。

<length>

边距的大小为固定值。

<percentage>

边距的大小为百分比,相对于包含块的内联尺寸(在水平书写模式下是宽度,由writing-mode定义)。

auto

浏览器会选择一个合适的值来使用。请参阅 margin

正式定义

初始值0
应用于所有元素,除了具有 table-captiontableinline-table 以外的表格display 类型的元素。它也适用于 ::first-letter
继承性
百分比参照包含块的宽度
计算值指定的百分比或绝对长度
动画类型一个长度

正式语法

margin-bottom = 
<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

示例

设置正负底部外边距

HTML

html
<div class="container">
  <div class="box0">Box 0</div>
  <div class="box1">Box 1</div>
  <div class="box2">Box one's negative margin pulls me up</div>
</div>

CSS

用于设置 div 元素的 margin-bottom 和 height 的 CSS

css
.box0 {
  margin-bottom: 1em;
  height: 3em;
}
.box1 {
  margin-bottom: -1.5em;
  height: 4em;
}
.box2 {
  border: 1px dashed black;
  border-width: 1px 0;
  margin-bottom: 2em;
}

容器和 div 元素的一些定义,以便更清楚地看到外边距的效果

css
.container {
  background-color: orange;
  width: 320px;
  border: 1px solid black;
}
div {
  width: 320px;
  background-color: gold;
}

结果

规范

规范
CSS Box Model Module Level 3
# margin-physical

浏览器兼容性

另见