margin
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
* Some parts of this feature may have varying levels of support.
CSS ÑвойÑÑво margin опÑеделÑÐµÑ Ð²Ð½ÐµÑний оÑÑÑÑп на вÑеÑ
ÑеÑÑÑÑÑ
ÑÑоÑонаÑ
ÑлеменÑа. ÐÑо ÑокÑаÑение, коÑоÑое ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð²Ñе оÑделÑнÑе Ð¿Ð¾Ð»Ñ Ð¾Ð´Ð½Ð¾Ð²Ñеменно: margin-top, margin-right, margin-bottom и margin-left.
ÐнÑеÑакÑивнÑй пÑимеÑ
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 ÑвойÑÑв:
СинÑакÑиÑ
/* ÐÑименÑеÑÑÑ ÐºÐ¾ вÑем ÑеÑÑÑÑм ÑÑоÑонам */
margin: 1em;
margin: -3px;
/* по веÑÑикали | по гоÑизонÑали */
margin: 5% auto;
/* ÑвеÑÑ
Ñ | гоÑизонÑалÑно | ÑÐ½Ð¸Ð·Ñ */
margin: 1em auto 2em;
/* ÑвеÑÑ
Ñ | ÑпÑава | ÑÐ½Ð¸Ð·Ñ | Ñлева */
margin: 2px 1em 0 auto;
/* ÐлобалÑнÑе знаÑÐµÐ½Ð¸Ñ */
margin: inherit;
margin: initial;
margin: unset;
СвойÑÑво margin Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð¾ Ñ Ð¸ÑполÑзованием одного, двÑÑ
, ÑÑÑÑ
или ÑеÑÑÑÑÑ
знаÑений. Ðаждое знаÑение Ð¸Ð¼ÐµÐµÑ Ñип <length>, <percentage> или ÑвлÑеÑÑÑ ÐºÐ»ÑÑевÑм Ñловом auto. Ðаждое знаÑение Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸ÑелÑнÑм, оÑÑиÑаÑелÑнÑм или ÑавнÑм нÑлÑ.
- Ðогда опÑеделено одно знаÑение, Ñакое знаÑение опÑеделено Ð´Ð»Ñ Ð²ÑÐµÑ ÑеÑÑÑÑÑ ÑÑоÑон.
- Ðогда опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð´Ð²Ð° знаÑениÑ, Ñо пеÑвое знаÑение опÑеделÑÐµÑ Ð²Ð½ÐµÑний оÑÑÑÑп Ð´Ð»Ñ Ð²ÐµÑÑ Ð½ÐµÐ¹ и нижней ÑÑоÑонÑ, а вÑоÑое знаÑение опÑеделÑÐµÑ Ð¾ÑÑÑÑп Ð´Ð»Ñ Ð»ÐµÐ²Ð¾Ð¹ и пÑавой ÑÑоÑонÑ.
- Ðогда опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ ÑÑи знаÑение, Ñо пеÑвое знаÑение опÑеделÑÐµÑ Ð²Ð½ÐµÑний оÑÑÑÑп Ð´Ð»Ñ Ð²ÐµÑÑ Ð½ÐµÐ¹ ÑÑоÑонÑ, вÑоÑое знаÑение опÑеделÑÐµÑ Ð²Ð½ÐµÑний оÑÑÑÑп Ð´Ð»Ñ Ð»ÐµÐ²Ð¾Ð¹ и пÑавой ÑÑоÑонÑ, а ÑÑеÑÑе знаÑение опÑеделÑÐµÑ Ð¾ÑÑÑÑп Ð´Ð»Ñ Ð½Ð¸Ð¶Ð½ÐµÐ¹ ÑÑоÑонÑ.
- Ðогда опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ ÑеÑÑÑе знаÑениÑ, они опÑеделÑÑÑ Ð²Ð½ÐµÑние оÑÑÑÑÐ¿Ñ Ð´Ð»Ñ Ð²ÐµÑÑ Ð½ÐµÐ¹ ÑÑоÑонÑ, ÑпÑава, ÑÐ½Ð¸Ð·Ñ Ð¸ Ñлева в ÑаÑÑмоÑÑенном поÑÑдке (по ÑаÑовой ÑÑÑелке).
ÐнаÑениÑ
<length>-
Ð Ð°Ð·Ð¼ÐµÑ Ð¾ÑÑÑÑпа как ÑикÑиÑованное знаÑение.
<percentage>-
Ð Ð°Ð·Ð¼ÐµÑ Ð¾ÑÑÑÑпа в пÑоÑенÑÐ°Ñ Ð¾ÑноÑиÑелÑно ÑиÑÐ¸Ð½Ñ ÑодиÑелÑÑкого блока.
auto-
ÐÑаÑÐ·ÐµÑ Ð²ÑбиÑÐ°ÐµÑ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑее знаÑение Ð´Ð»Ñ Ð¸ÑполÑзованиÑ. ÐапÑимеÑ, в некоÑоÑÑÑ ÑлÑÑаÑÑ ÑÑо знаÑение Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзовано Ð´Ð»Ñ ÑенÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑлеменÑа.
ФоÑмалÑное опÑеделение
| ÐаÑалÑное знаÑение | как и Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из подÑвойÑÑв ÑÑого ÑвойÑÑва:
|
|---|---|
| ÐÑименÑеÑÑÑ Ðº | вÑе ÑлеменÑÑ, кÑоме ÑлеменÑов Ñ ÑаблиÑнÑм Ñипом display, оÑлиÑнÑм Ð¾Ñ table-caption, table и inline-table. ÐÑо Ñакже пÑименÑеÑÑÑ Ðº ::first-letter. |
| ÐаÑледÑеÑÑÑ | Ð½ÐµÑ |
| ÐÑоÑенÑÑ | ÑÑÑлаеÑÑÑ Ð½Ð° ÑиÑÐ¸Ð½Ñ ÑодеÑжаÑего блока |
| ÐбÑабоÑка знаÑÐµÐ½Ð¸Ñ | как и Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из подÑвойÑÑв ÑÑого ÑвойÑÑва:
|
| Animation type | длина |
ФоÑмалÑнÑй ÑинÑакÑиÑ
margin =
<'margin-top'>{1,4}
<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
ÐÑимеÑÑ
>ÐÑоÑÑой пÑимеÑ
HTML
<div class="center">ÐÑÐ¾Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¾ÑÑенÑÑиÑован.</div>
<div class="outside">
ÐÑÐ¾Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÑаÑположен за пÑеделами Ñвоего конÑейнеÑа.
</div>
CSS
.center {
margin: auto;
background: lime;
width: 66%;
}
.outside {
margin: 3rem 0 0 -3rem;
background: cyan;
width: 66%;
}
ÐолÑÑе пÑимеÑов
margin: 5%;
/* вÑе ÑÑоÑонÑ: оÑÑÑÑп 5% */
margin: 10px;
/* вÑе ÑÑоÑонÑ: оÑÑÑÑп 10px */
margin: 1.6em 20px;
/* веÑÑ
и низ: оÑÑÑÑп 1.6em */
/* пÑаво и лево: оÑÑÑÑп 20px */
margin: 10px 3% 1em;
/* веÑÑ
: оÑÑÑÑп 10px */
/* пÑаво и лево: оÑÑÑÑп 3% */
/* низ: оÑÑÑÑп 1em */
margin: 10px 3px 30px 5px;
/* веÑÑ
: оÑÑÑÑп 10px */
/* пÑаво: оÑÑÑÑп 3px */
/* низ: оÑÑÑÑп 30px */
/* лево: оÑÑÑÑп 5px */
margin: 2em auto;
/* веÑÑ
и низ: оÑÑÑÑп 2em */
/* блок оÑÑенÑÑиÑован гоÑизонÑалÑно */
margin: auto;
/* веÑÑ
и низ: оÑÑÑÑп 0 */
/* блок оÑÑенÑÑиÑован гоÑизонÑалÑно */
ÐÑимеÑание
>ÐоÑизонÑалÑное вÑÑавнивание
ЧÑÐ¾Ð±Ñ ÑенÑÑиÑоваÑÑ ÑÑо-Ñо гоÑизонÑалÑно в ÑовÑеменнÑÑ
бÑаÑзеÑаÑ
, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ display: flex; justify-content: center; .
Ðднако в ÑÑаÑÑÑ
бÑаÑзеÑаÑ
, ÑакиÑ
как IE8-9, коÑоÑÑе не поддеÑживаÑÑ ÑеÑ
Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Flexible Box, они недоÑÑÑпнÑ. ЧÑÐ¾Ð±Ñ ÑенÑÑиÑоваÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð²Ð½ÑÑÑи Ñвоего ÑодиÑелÑ, иÑполÑзÑйÑе margin: 0 auto; .
Ð¡Ñ Ð»Ð¾Ð¿Ñвание оÑÑÑÑпов
Ðногда внеÑние оÑÑÑÑÐ¿Ñ Ð´Ð»Ñ Ð²ÐµÑÑ Ð½ÐµÐ¹ и нижней ÑÑоÑон ÑÑ Ð»Ð¾Ð¿ÑваÑÑÑÑ Ð² один оÑÑÑÑп, коÑоÑÑй Ñавен наиболÑÑÐµÐ¼Ñ Ð¸Ð· двÑÑ Ð¾ÑÑÑÑпов. СмоÑÑиÑе Ð¡Ñ Ð»Ð¾Ð¿Ñвание внеÑÐ½Ð¸Ñ Ð¾ÑÑÑÑпов Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑÑей инÑоÑмаÑии.
СпеÑиÑикаÑии
| Specification |
|---|
| CSS Box Model Module Level 3> # margin> |
СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами
СмоÑÑиÑе Ñакже
- Ðведение в базовÑÑ Ð±Ð»Ð¾ÑнÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ CSS
- Ð¡Ñ Ð»Ð¾Ð¿Ñвание оÑÑÑÑпов
margin-top,margin-right,margin-bottomиmargin-left- ÐогиÑеÑкие ÑвойÑÑва:
margin-block-start,margin-block-end,margin-inline-startиmargin-inline-end. Ð Ñак же ÑокÑаÑеннÑе ваÑианÑÑ:margin-blockиmargin-inline