Я немного смущен тем, что на самом деле представляет собой clearfix. С одной стороны, у нас есть ситуация с div с нулевой высотой, когда плавающий элемент не занимает места. Решение состоит в том, чтобы поместить в контейнер следующий класс clearfix:
.clearfix {
overflow: auto;
}
С другой стороны, у нас есть clearfix, который, кажется, используется, чтобы избавиться от необходимости ставить <div style="clear: both"></div>
, когда вы не хотите, чтобы следующий элемент плавал. Этот прием обычно гораздо более сложен, как следующий из HTML5Boilerplate:
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix {
display: inline-block;
}
* html .clearfix {
height: 1%;
} /* Hides from IE-mac \*/
.clearfix {
display: block;
}
Почему эти концепции называются одинаково? Я не говорю о разных решениях одной и той же проблемы, а о двух разных проблемах полностью (исправление div с нулевой высотой по сравнению с устранением необходимости в clear: both div).
Hides from IE-mac
, IE на Mac? :П - person l2aelba   schedule 09.09.2014