• Теория
  • Теория

Борьба с выпаданием флоатов: распорки

Эффект выпадания флоатов из родителя был большой проблемой при построении сеток. Ведь сетки на флоатах обычно делаются вот так:

  1. Создаём блок-контейнер для колонок.
  2. В контейнер добавляем флоатные блоки-колонки.
  3. Рассчитываем ширины колонок так, чтобы им хватало места в родителе.

Такой подход работает неплохо. Но проблемы начинаются тогда, когда у контейнера есть фон, отличный от фона страницы. Когда колонки выпадали, родитель схлопывался и фон пропадал.

Необходимо было найти способ борьбы с выпаданием. Тут и пригодилось свойство clear:both. Стали применять такую структуру:

<div class="container"> - блок-контейнер
  <div class="column1">...</div> - колонка, флоат
  <div class="column2">...</div> - колонка, флоат
  <div class="clearfix"></div> - распорка с clear:both
</div>

То есть начали добавлять после зафлоаченных колонок пустой элемент-распорку со свойством clear:both. Этот элемент видел колонки, не давал им пройти через себя, а заодно и растягивал родительский блок по высоте.

Для таких распорок прижилось специальное название класса — clearfix.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Сетки на флоатах и блочно-строчных» тренажёра «Ретросетки» можно после регистрации и оформления подписки.