Фикс высоты родительского div если он содержит вложенные элементы с float

Главные вкладки

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 18 ноября 2010 в 3:26

Проблема думаю знакома многим: если вложенные дивы имеют определённое свойство float, родительский див "теряет" высоту, что приводит к тому, что дивы снизу наезжают на этот див

Задавать жёстко высоту не всегда приемлемо.

Фикс, о котором знают наверняка опытные верстальщики, но стал откровением для меня

.clearfix:after {
        content: ".";
        display: block;
        clear: both;
        visibility: hidden;
        line-height: 0;
        height: 0;
}
 
.clearfix {
        display: inline-block;
}
 
html[xmlns] .clearfix {
        display: block;
}
 
* html .clearfix {
        height: 1%;
}

где .clearfix - родительский слой-контейнер

Источник http://www.webtoolkit.info/css-clearfix.html

Комментарии

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 18 ноября 2010 в 13:57

"Shift-Web" wrote:
Можно пример применения?

Пример применения: листинг taxonomy/term/id. Этот дефолтный вид стандартной таксономии один на сайт (если не ставить приблуд вроде vti)

Получается, что под этим видом могут выводится ноды разного типа, в моём случае например это обычные страницы (просто тизер и заголовок) и товары (заголовок, тизер, картинка и ещё чего-то)

Так вот, для картинки я задаю float:left, соответственно строки "ломаются" (это прежде всего видно по нижнему бордеру, отделяющему строки вида)

Конечно, можно сделать вывод полей в шаблоне, но я по некоторым причинам не хочу с этим связываться. Надеюсь понятно

Аватар пользователя Shift-Web Shift-Web 18 ноября 2010 в 19:47

"xxandeadxx" wrote:
чем же проще то, лишняя разметка, не по семантике

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:

.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
 
.clearfix {
display: inline-block;
}
 
html[xmlns] .clearfix {
display: block;
}
 
* html .clearfix {
height: 1%;
}

Гы ) Одно дело картинка в тизере подползла и другое когда каркас вот так сделан. Можно и класс брэйку прописать на худой конец. И семантика тут в принципе не причем...

Визиблити, лайнхейты ... Жесть

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:

html[xmlns] .clearfix {
display: block;
}

А если я доктайп воткну 4й? (:

Аватар пользователя xxandeadxx xxandeadxx 18 ноября 2010 в 20:02

"Shift-Web" wrote:
Гы )

это уже есть в друпале

"Shift-Web" wrote:
другое когда каркас вот так сделан

как "вот так"?

"Shift-Web" wrote:
И семантика тут в принципе не причем

отображение страницы дело css а не html

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 18 ноября 2010 в 20:03

Ну ёпть, помешаны на Друпале. Просто ещё один способ,общий, не более того. Я вот ещё проще пример знаю - в таблицу всё запихнуть эту таксономию.

Аватар пользователя xxandeadxx xxandeadxx 18 ноября 2010 в 20:05

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
Я вот ещё проще пример знаю - в таблицу всё запихнуть эту таксономию.

чем он проще?

Аватар пользователя Shift-Web Shift-Web 18 ноября 2010 в 20:08

"xxandeadxx" wrote:
отображение страницы дело css а не html

Тогда тебе стоит посмотреть в сторону XSLT+XML, правда оно индексируется хреново.