Задать вопрос
bootd
@bootd
Гугли и ты откроешь врата знаний!

Как избежать баг в работе clearfix метода?

Всем привет. Есть такой клевый метод, для очистки float элементов Clearfix. Вот его код, что бы всем было проще понять с чем мы имеем дело.

.clearfix {*zoom: 1;}

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

.clearfix:after {clear: both;}


У меня есть такая вот разметка, очень простая. Обычный резиновый макет, где контентная часть уменьшается в зависимости от ширины экрана.

Пример тут:
jsfiddle.net/rootd/cs9qtrkt/5

Беда в следующем! Первый блок clearfix в блоке content по какой то причине становится высотой равной блоку sidebar. Я очень долго копался, но так и не понял причины такого феномена. Если кто знает, скажите, в чем причина?

Проблему исправил так,
1) дал sidebar'у высоту 0.
2) Абсолютное позиционирование sidebar.
3) Заменить все стили clearfix на этот .clearfix {overflow:hidden;}

И все норм, но эти решения мне не подходят. Причина так и не ясна мне!
  • Вопрос задан
  • 3247 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
jsfiddle.net/petroveg/cs9qtrkt/2
Есть разные приёмы для учитывания контейнером дочерних элементов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
torrie
@torrie
Всё знаю, всё умею
решил кейс, убрав:
display:table
jsfiddle.net/cs9qtrkt/3
Ответ написан
Ваш ответ на вопрос

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

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