logo помогаю бизнесу зарабатывать больше.
Связаться
Введите название услуги:

Выравнивание без использования clear

27 апреля 2016 в 7:42 CSS
Этот блок с float: left;

текст, который задаст высоту родителю

Это следующий блок в общем потоке

В итоге получаем:

clearfix-1

ожидалось, что следующий блок, будет расположен под блоком-родителем, высота которого будет равна высоте самого высокого дочернего блока (в данном примере высоте плавающего блока).


В реальности, следующий блок (в большинстве браузеров) действительно расположен под блоком-родителем, но высота родителя равна высоте статического (неплавающего) содержимого

clearfix-2

Старое решение

Очищаем поток, используя дополнительный элемент, помещенный в конце блока родителя со свойством или атрибутом clear (

):

HTML

Этот блок с float: left;

текст, который задаст высоту родителю

Это следующий блок в общем потоке

CSS
[php]
.clear {
clear: both;
overflow: hidden;
}
[/php]
Недостаток данного способа — появляется никому не нужный, портящий структурность и семантику кода элемент. Зачастую с единственным назначением — это очистить поток.


Новое решение

Очищаем поток, используя псевдоэлемент :after

html

Этот блок с float: left;

текст, который задаст высоту родителю

Это следующий блок в общем потоке

CSS
[php]
.parent:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
[/php]

Похожие статьи

Оставить заявку
По любым вопросам пишите мне в мессенджеры .
Ваша цена
Предложите свою цена за товар или услугу. Пишите мне в мессенджеры или оставьте заявку в данной форме.
[contact-form-7 id="22192" title="Универсальная форма"]
[contact-form-7 id="114828" title="Рассчитать стоимость"]

Представительство Max-Webs в других городах:

There are no products