Что-то я совсем запутался в флоатах -клеарах. Ребята, цитирую урок float и выпадание из потока [10/32] :
> Эффект выпадания из родителя или схлопывания родителя. Проявляется тогда, когда все дочерние блоки в родителе зафлоачены. В этом случае родитель схлопывается по высоте, как будто в нём нет содержимого, а блоки выпадают из него.
Итак, получается ключевое слово - ВСЕ блоки зафлоачены.
Но, в то же время, цитирую урок Борьба с выпаданием флоатов: распорки [15/32]:
Когда колонки выпадали, родитель схлопывался и фон пропадал.
Необходимо было найти способ борьбы с выпаданием. Тут и пригодилось свойство clear:both. Начали добавлять после зафлоаченных колонок пустой элемент-распорку со свойством clear:both. Этот элемент видел колонки, не давал им пройти через себя, а заодно и растягивал родительский блок по высоте.
Итак, назревший вопрос: а зачем вообще во-первых распорке свойство clear:both? Если верить вышеизложенной информации, то главное - чтобы эта распорка просто была не зафлоачена. И все - родитель уже не должен схлопываться. Да, хорошо ее сделать нулевой высоты, т.е. невидимой. Но зачем клеар, блин? Но таки да, схлопывается родитель, зараза без клеара у клеарфикса! Но почему? Ведь клеарфикс то не зафлоачен, этого одного уже должно быть достаточно для предотвращения схлопывания! А клеаром логично орудовать внутри родительского контейнера чтобы просто позиционировать флоаты. Короче, вообще темное дело получается…Хелп, пипл!