Привет, Вы узнаете о том , что такое приемы очистка потока clearfix, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое
приемы очистка потока clearfix, class= clear - , настоятельно рекомендую прочитать все из категории Каскадные таблицы стилей CSS/ CSS3.
Имеем:
- блок-родитель
- плавающий блок, вложенный в блок-родитель
- текст (или блок, или что угодно), который будет обтекать плавающий блок (нужен для демонстрации)
HTML
2 |
Этот блок с float: left;
|
3 |
текст, который задаст высоту родителю |
5 |
Это следующий блок в общем потоке
|
Вопросы:
- какую высоту в данном случае будет иметь блок-родитель (div class="parent")?
- где расположится блок (div class="nextStaticBlock"), помещенный под блок-родитель?
Правильные ответы на рисунке:
ожидалось, что следующий блок, будет расположен под блоком-родителем, высота которого будет равна высоте самого высокого дочернего блока (в данном примере высоте плавающего блока)
|
в реальности, следующий блок (в большинстве браузеров) действительно расположен под блоком-родителем, но высота родителя равна высоте статического (неплавающего) содержимого
|
Старое решение
Очищаем поток, используя дополнительный элемент, помещенный в конце блока родителя со свойством или атрибутом clear (
<div style="clear: both;> или
):
HTML
2 |
<div class="floatBlock">Этот блок с float: left;</div> |
3 |
текст, который задаст высоту родителю |
4 |
<div style="clear: both;"></div> |
6 |
<div class="nextStaticBlock">Это следующий блок в общем потоке</div> |
Недостаток данного способа — появляется никому не нужный, портящий структурность и семантику кода элемент. Зачастую с единственным назначением — это очистить поток.
Новое решение
Очищаем поток, используя псевдоэлемент :after
HTML
2 |
<div class="floatBlock">Этот блок с float: left;</div> |
3 |
текст, который задаст высоту родителю |
5 |
<div class="nextStaticBlock">Это следующий блок в общем потоке</div> |
CSS:
CSS
— чтобы скрыть точку лучше использовать visibility: hidden вместо overflow: hidden, т.к. Об этом говорит сайт https://intellect.icu . в некоторых браузерах точка все же видна.
и для IE подключаем условными комментариями (рекомендуется) или с использованием хаков (не рекомендуется)
CSS
2 |
zoom: 1; /* set hasLayout */ |
3 |
display: block; /* resets display for IE/Win */ |
или просто
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
Очищаем поток overflow: hidden
Так же для очистки потока есть более постой способ — добавить правило overflow: hidden родителю, который содержит плавающие элементы:
CSS
Демо пример. Метод более простой, но не всегда применим (например, когда родитель содержит абсолютно позиционируемые элементы, которые должны выходить за границы родителя. Пример — выпадающее меню).
Микро clearfix
Если не нужна поддержка IE6-7:
CSS
Если нужна, тогда надежней использовать такой вариант:
CSS
01 |
/* For modern browsers */ |
Анализ данных, представленных в статье про приемы очистка потока clearfix, подтверждает эффективность применения современных
технологий для обеспечения инновационного развития и улучшения качества жизни в различных сферах. Надеюсь, что теперь ты понял что такое приемы очистка потока clearfix, class= clear -
и для чего все это нужно, а если не понял, или есть замечания,
то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории
Каскадные таблицы стилей CSS/ CSS3
Из статьи мы узнали кратко, но содержательно про приемы очистка потока clearfix
Ответы на вопросы для самопроверки пишите в комментариях,
мы проверим, или же задавайте свой вопрос по данной теме.
Комментарии
Оставить комментарий
Каскадные таблицы стилей CSS/ CSS3
Термины: Каскадные таблицы стилей CSS/ CSS3