- Теория
- Теория
Борьба с выпаданием флоатов: распорки
Эффект выпадания флоатов из родителя был большой проблемой при построении сеток. Ведь сетки на флоатах обычно делаются вот так:
- Создаём блок-контейнер для колонок.
- В контейнер добавляем флоатные блоки-колонки.
- Рассчитываем ширины колонок так, чтобы им хватало места в родителе.
Такой подход работает неплохо. Но проблемы начинаются тогда, когда у контейнера есть фон, отличный от фона страницы. Когда колонки выпадали, родитель схлопывался и фон пропадал.
Необходимо было найти способ борьбы с выпаданием. Тут и пригодилось свойство 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
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.