CSS-свойство margin
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Сокращённое свойство margin CSS задаёт область внешнего отступа со всех четырёх сторон элемента.
Попробуйте
margin: 1em;
margin: 5% 0;
margin: 10px 50px 20px;
margin: 10px 50px 20px 0;
margin: 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;
}
Составные свойства
Это свойство является сокращённой записью следующих свойств CSS:
Синтаксис
/* apply to all four sides */ margin: 1em; margin: -3px; /* top and bottom | left and right */ margin: 5% auto; /* top | left and right | bottom */ margin: 1em auto 2em; /* top | right | bottom | left */ margin: 2px 1em 0 auto; /* anchor-size() values */ margin: 5% anchor-size(width); margin: calc(anchor-size(width) / 4) 1em 0 anchor-size(--my-anchor self-inline, 50px); /* Keyword values */ margin: auto; /* Global values */ margin: inherit; margin: initial; margin: revert; margin: revert-layer; margin: unset;
Свойство margin можно задать одним, двумя, тремя или четырьмя значениями. Каждое значение — это <length>, <percentage> или ключевое слово auto. Отрицательные значения приближают элемент к соседним элементам сильнее, чем это было бы по умолчанию.
- Если указано одно значение, оно задаёт одинаковый внешний отступ для всех четырёх сторон.
- Если указаны два значения, первое задаёт внешний отступ для верхней и нижней сторон, а второе — для левой и правой сторон.
- Если указаны три значения, первое задаёт внешний отступ для верхней стороны, второе — для правой и левой сторон, а третье — для нижней стороны.
- Если указаны четыре значения, внешние отступы задаются для верхней, правой, нижней и левой сторон именно в таком порядке (по часовой стрелке).
Значения
-
<length> - Размер внешнего отступа в виде фиксированного значения.
- Для элементов, позиционируемых относительно якоря, функция
anchor-size()вычисляется в значение<length>относительно ширины или высоты соответствующего якорного элемента (см. раздел Задание внешнего отступа элемента на основе размера якоря).
- Для элементов, позиционируемых относительно якоря, функция
-
<percentage> - Размер внешнего отступа в процентах относительно строчного размера (в горизонтальном письме — ширины, определяемой свойством
writing-mode) содержащего блока. -
auto - Браузер выбирает подходящий внешний отступ. Например, в некоторых случаях это значение можно использовать для центрирования элемента.
Описание
Это свойство можно использовать, чтобы задать внешний отступ со всех четырёх сторон элемента. Внешние отступы создают дополнительное пространство вокруг элемента, в отличие от padding, которое создаёт дополнительное пространство внутри элемента.
Верхние и нижние внешние отступы не влияют на строчные невоспроизводимые элементы, такие как <span> или <code>.
Горизонтальное центрирование
Вы можете выровнять элемент по центру по горизонтали внутри родителя, задав margin: 0 auto;.
Более распространённый способ горизонтально центрировать элемент — задать display: flex; и justify-content: center; для контейнера. Это центрирует его flex-элементы-потомки.
Схлопывание внешних отступов
Верхние и нижние внешние отступы элементов иногда схлопываются в один отступ, равный большему из двух. Подробнее см. в разделе Подробно о схлопывании внешних отступов.
Формальное определение
| Начальное значение | как у каждого из свойств, входящих в сокращённую запись: |
|---|---|
| Применяется к | всем элементам, кроме элементов с табличными типами display, отличными от <code>table-caption</code>, <code>table</code> и <code>inline-table</code> |
| Наследуется | нет |
| Проценты | относительно ширины содержащего блока |
| Вычисленное значение | как у каждого из свойств, входящих в сокращённую запись: |
| Тип анимации | a <a href="/en-US/docs/Web/CSS/Reference/Values/length#interpolation" title="Values of the <length> CSS data type are interpolated as real, floating-point numbers.">length</a> |
Формальный синтаксис
margin =
<'margin-top'>{1,4}
Примеры
Базовый пример
HTML
<div class="center">This element is centered.</div> <div class="outside">This element is positioned outside of its container.</div>
CSS
.center {
margin: auto;
background: lime;
width: 66%;
}
.outside {
margin: 3rem 0 0 -3rem;
background: cyan;
width: 66%;
}
Другие примеры
margin: 5%; /* All sides: 5% margin */ margin: 10px; /* All sides: 10px margin */ margin: 1.6em 20px; /* top and bottom: 1.6em margin */ /* left and right: 20px margin */ margin: 10px 3% -1em; /* top: 10px margin */ /* left and right: 3% margin */ /* bottom: -1em margin */ margin: 10px 3px 30px 5px; /* top: 10px margin */ /* right: 3px margin */ /* bottom: 30px margin */ /* left: 5px margin */ margin: 2em auto; /* top and bottom: 2em margin */ /* Box is horizontally centered */ margin: auto; /* top and bottom: 0 margin */ /* Box is horizontally centered */
Спецификации
| Спецификация |
|---|
| Модуль модели блоков CSS, уровень 3 # margin |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari в iOS | Samsung Internet | WebView для Android | WebView в iOS | |
margin |
1 |
12 |
1 |
3.5 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
anchor-size |
132 |
132 |
147 |
117 |
26 |
132 |
147 |
87 |
26 |
29.0 |
132 |
26 |
auto |
1 |
12Значениеauto не поддерживается в режиме quirks. |
1 |
3.5 |
1 |
18 |
4 |
14 |
1 |
1.0 |
37 |
1 |
См. также
-
margin-top,margin-right,margin-bottomиmargin-left -
margin-block-start,margin-block-end,margin-inline-startиmargin-inline-end -
Сокращённые свойства
margin-blockиmargin-inline - Подробно о схлопывании внешних отступов
- Руководство Введение в блочную модель CSS
- Модуль Блочная модель CSS
© 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/Reference/Properties/margin