Задать вопрос

Зачем clearfix нужно добавлять еще и c помощью псевдоэлемента :before?

Зачем clearfix от Nicolas Gallagher нужно добавлять еще и c помощью псевдоэлемента :before?

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table; 
}

.clearfix:after {
    clear: both;
}
  • Вопрос задан
  • 8582 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Frontend-разработчик: тариф PRO
    10 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 1
Не обязателен :before для очистки floats, но это позволяет избежать проблем с схлопывающимися верхними отступами в современных браузерах.

Including the :before selector is not necessary to clear the floats, but it prevents top-margins from collapsing in modern browsers. (с) Nicolas Gallagher


Если захотите почитать про это ещё:
clearfix Reloaded + overflow:hidden Demystified
How to "patch" clearfix so it can better handle co...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
iskros
@iskros
Руководитель проектов
Хороший вопрос, вот clearfix от rhr.me/:

/* Clearfix  */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}


Здесь можно посмотреть полный пример
https://github.com/operatino/markup-process/blob/g...
Ответ написан
mlnkv
@mlnkv
JavaScript Developer
затем, чтобы не добавлять дополнительный элемент с в верстку, который будет сбрасывать float
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы