css властивість margin
Властивість margin - встановлює зовнішні відступи (поля) навколо елемента. Таким відступом є простір від грані поточного елемента до внутрішнього краю його батьківського елемента.

Це універсальна властивість і її поведінка залежить від кількості значень. Поведінку властивості margin при різній кількості значень наведено нижче:
| Кількість значень | Поведінка властивості |
|---|---|
| 1 | Поля будуть встановлені для всіх сторін |
| 2 | Перше значення встановить відступ зверху та знизу, друге - відступи праворуч та ліворуч. |
| 3 | Перше значення встановлює відступ зверху, друге значення одночасно,встановить ліве та праве поле, третє значення - відступ знизу. |
| 4 | Послідовно встановить відступи для верхнього, правого, нижнього та лівого країв. |

margin - це властивість, яка приймає до чотирьох значень:
.box {
margin: <margin-top> || <margin-right> || <margin-bottom> || <margin-left>
}
Якщо встановлено менше чотирьох значень, то відсутні значення приймаються на основі визначених. Наприклад, наступні два набори правил отримають однакові результати:
.box {
margin: 0 1.5em;
}
.box {
margin: 0 1.5em 0 1.5em;
}
Кожна з властивостей margin може також приймати значення auto. Значення автоматично в основному повідомляє браузеру, щоб визначити margin для вас. У більшості випадків значення автоматично буде еквівалентно значенню 0 (яке є початковим значенням для кожної властивості margin), або ж будь-який простір доступний на тій стороні елемента.
.container {
width: 980px;
margin: 0 auto;
}
У цьому прикладі робиться дві речі, щоб орієнтувати цей елемент горизонтально у межах доступного простору:
- Елементу задано вказану ширину
- Лівий та правий поля встановлюються автоматично
Без зазначеної ширини значення автоматично не матимуть ніякого ефекту, встановивши лівий та правий поля до 0 або будь-який інший доступний простір всередині батьківського елемента.
Слід також зазначити, що auto корисно тільки для горизонтального центрування, і тому використання auto для верхнього і нижнього полів не буде центрувати елемент по вертикалі.
| Нотатка: | Якщо елемент не має батька, відступ буде розраховуватись до краю вікна браузера. Пам'ятай, що у вікна браузера теж встановлені відступи. Щоб їх позбутися, слід встановлювати значення margin для елемента |
| Нотатка: | Властивість |
| Нотатка: | У блокових елементів розташованих поруч один з одним по вертикалі (
Схлопування не спрацьовує:
|
Синтаксис
margin: length|%|auto|initial|inherit;
Властивість margin може отримувати 5 значень:
lengthВизначає відступ в
px, pt, cmта інших одницях , що прийняті в CSS. Значення без задання дорівнює 0.%Відступ у відсотках відносно батьківського елемента.
autoБраузер самостійно обчислить відступ.
initialВстановлює властивість у значення без задання
inheritВказує на спадковість властивості від свого батьківського елемента.
| Значення без задання: | 0 |
|---|---|
| Наслідує: | Ні |
| Анімується: | Так |
| JavaScript синтаксис: | object.style.margin="100px 50px" |
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| margin | 1.0 |
6.0 |
1.0 |
1.0 |
3.5 |
| Переглядач | |||
|---|---|---|---|
| margin | 1.0 |
1.0 |
1.0 |
Мобільних переглядачів ще не додано.
Приклади
Динамічний приклад
Демонстрація роботи властивості
Синтаксис властивості
.box {
margin: 16px auto;
}

А не сумувалися в 15px. Як видно, в такому випадку дочірній елемент підштовхнув свого батька на 5px вниз.