Властивість margin застосовується не тільки
для завдання відступів, а й для центрування
блокових елементів. Для цього правий та лівий
відступ слід задати у значення auto.
У прикладі нижче внутрішній блок стане по центру:
<div class="parent">
<div class="child"></div>
</div>
.parent {
border: 1px solid red;
}
.child {
height: 100px;
width: 200px;
border: 1px solid green;
margin: 10px auto;
}
:
Майте на увазі, що таким чином можна центрувати тільки блокові елементи, тільки по горизонталі і тільки якщо їм задана ширина.
Якщо нам потрібні різні верхній та нижній відступ
margin, то можно написати ось так:
.child {
margin: 30px auto 10px auto;
}
Можна переписати і через три значення: перше
задасть верхній відступ, третє - нижній, а
друге задасть значення auto для правого
і лівого відступів:
.child {
margin: 30px auto 10px;
}
Повторіть сторінку за зразком, зробивши так, щоб зелені блоки розташовувалися по центру свого батька:
Вирівнювання
Значення auto для margin
насправді може не лише центрувати.
Фактично це значення дозволяє розрахувати
відступ автоматично і зробити його максимально
можливим. Коли ми ставимо auto для
лівого та правого відступу – елемент центрується.
Проте можна поставити тільки лівий відступ. В цьому випадку елемент отримає максимально можливий відступ зліва і займе крайнє праве становище:
<div class="parent">
<div class="child"></div>
</div>
.parent {
padding: 10px 0;
border: 1px solid red;
}
.child {
margin-left: auto; /* задаємо автоматичний лівий відступ */
height: 100px;
width: 200px;
border: 1px solid green;
}
:
Нюанс
За потреби можна задати і правий відступ і елемент не буде притиснутий до правого кордону, а відступить від нього:
<div class="parent">
<div class="child"></div>
</div>
.parent {
padding: 10px 0;
border: 1px solid red;
}
.child {
margin-left: auto;
margin-right: 20px; /* задаємо правий відступ */
height: 100px;
width: 200px;
border: 1px solid green;
}
: