Урок 191 із 239
80%
Кліарфікс і висота батьківського елемента в CSS
Дізнаємося, як clearfix допомагає відновити висоту батьківського блоку з плаваючими елементами float.
Кліарфікс і висота батьківського елемента в CSS
Плаваючі елементи з властивістю float не збільшують висоту свого батьківського елемента.
Через це може виникнути проблема: батьківський блок має тільки рамку, а картинка виходить за його межі.
<div class="parent">
<img src="img.png" alt="">
</div>.parent {
border: 1px solid red;
}
.parent img {
float: left;
}Щоб виправити проблему, додають спеціальний порожній div з класом clearfix після плаваючого елемента.
<div class="parent">
<img src="img.png" alt="">
<div class="clearfix"></div>
</div>.parent {
border: 1px solid red;
}
.parent img {
float: left;
}
.clearfix {
clear: both;
} ❗ Важливо:
Div з класом clearfix невидимий на сторінці, але він змушує батьківський блок враховувати висоту float-елемента.
- float-елементи не впливають на висоту батьківського блоку.
- clear: both скасовує обтікання з обох сторін.
- clearfix створює невидимий елемент після float.
- Батьківський блок знову отримує правильну висоту.
.parent::after {
content: "";
display: block;
clear: both;
}📌 Завдання:
- №1. Створіть div з картинкою всередині.
- №2. Додайте картинці float: left.
- №3. Перевірте, як зміниться висота батьківського блоку.
- №4. Додайте clearfix після картинки.
- №5. Переконайтеся, що висота батьківського блоку відновилася.
💡 Показати підказку
Якщо батьківський блок не враховує float-елементи, додайте clear: both після них.
✅ Показати відповідь
.clearfix {
clear: both;
}