Урок 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. №1. Створіть div з картинкою всередині.
  2. №2. Додайте картинці float: left.
  3. №3. Перевірте, як зміниться висота батьківського блоку.
  4. №4. Додайте clearfix після картинки.
  5. №5. Переконайтеся, що висота батьківського блоку відновилася.
💡 Показати підказку

Якщо батьківський блок не враховує float-елементи, додайте clear: both після них.

✅ Показати відповідь
.clearfix {
  clear: both;
}