Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2013, 16:21   #1
ВалекFCRK
Форумчанин
 
Регистрация: 04.06.2011
Сообщений: 120
Печаль Вопрос по float

Здравствуйте. Имеется вот такой код страницы.

Код HTML:
<div class="products">			
    <div class="content_product">					
    </div>
    <div class="content_product">
    </div>				
</div>		
И вот такой css .

Код HTML:
.products
{
width: 701px;
margin: auto;
}
.content_product
{
width: 229px;
height: 261px;
background: #000;
float: left;
}		
Проблема в том. Что с float: left; класс products не хочет растяиваться в высоту. Границы класса content_products выходят за рамки products. Но без float, высота автоматически настраивается . И content_products не выходит за рамки. Предлагать мне сделать height у класса products не нужно, так как content_products возможно огромное количество, и products должен автоматически растягиваться в высоты. Спасибо
ВалекFCRK вне форума Ответить с цитированием
Старый 28.11.2013, 16:33   #2
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Цитата:
Сообщение от ВалекFCRK Посмотреть сообщение
класс products не хочет растяиваться в высоту. Границы класса content_products выходят за рамки products.
Такова суть плавающих блоков, контейнер попросту схлапывается. Используйте inline-block вместо float блоков.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 28.11.2013, 16:37   #3
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Код:
.products{overflow:hidden;}
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 28.11.2013, 16:38   #4
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Цитата:
Такова суть плавающих блоков, контейнер попросту схлапывается. Используйте inline-block вместо float блоков.
inline-block не держут ослики. а это значит надо хак. а хак не есть айс) если можно без хака, давайте лучше без хака)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 28.11.2013, 16:53   #5
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Цитата:
Сообщение от Лубышев Посмотреть сообщение
Код:
.products{overflow:hidden;}
И причем здесь overflow?) У ТС острая боль по поводу того, что родительские контейнер схлопывается из-за плавающих блоков)
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 28.11.2013, 18:40   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от notHaker Посмотреть сообщение
И причем здесь overflow?) У ТС острая боль по поводу того, что родительские контейнер схлопывается из-за плавающих блоков)
оверфлоу растянет внешний блок под флоаты.
Засада только в том, что оверфлоу работает очень медленно и будет ререндериться при любых манипуляциях dom.
Цитата:
inline-block не держут ослики. а это значит надо хак. а хак не есть айс) если можно без хака, давайте лучше без хака)
ИЕ7 и ниже да, только это уже меньше 1% аудитории в рунете.
А что касается хака, дак это просто преступление не юзать такую маленькую очаровательную хернюшку как
Код:
*display: inline;
zoom:1;
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 28.11.2013, 20:29   #7
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Цитата:
оверфлоу работает очень медленно и будет ререндериться при любых манипуляциях dom.
не замечал медленности) все всегда быстро работает. ну тем более думаю ТС не будет мегасервис делать с кучей AJAX и т.п. типа яндекс карты)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 28.11.2013, 22:35   #8
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Цитата:
Сообщение от Лубышев Посмотреть сообщение
Код:
.products{overflow:hidden;}
Прошу прощения, вы мне порвали шаблон
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 29.11.2013, 08:09   #9
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Лубышев Посмотреть сообщение
не замечал медленности) все всегда быстро работает. ну тем более думаю ТС не будет мегасервис делать с кучей AJAX и т.п. типа яндекс карты)
Если оверфлоу один, то проблема не будет заметна. Но если сверстать, скажем главную страницу интернет-магазина, со всякими там акциями, спецпредложениями, аукционами, на стиле float + overflow:hidden; то безобидный таймер (а-ля до конца акции осталось 20минут 42 секунды) каждую секунду будет вызывать рекусивную перерисовку каждого оверфлоу. На мощной машине в хроме еще можно этого не заметить, но какой-нибудь ИЕ8 на древнем пне вызовет садом и гомору.
И AJAX тут не при чем =).

Цитата:
Сообщение от notHaker Посмотреть сообщение
Прошу прощения, вы мне порвали шаблон
inline-block тоже натянется на флоаты
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 29.11.2013, 08:49   #10
ВалекFCRK
Форумчанин
 
Регистрация: 04.06.2011
Сообщений: 120
По умолчанию

Всем спасибо за полный ответ) Остановился на inline-block
ВалекFCRK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по поводу float в С++ Sinknot Помощь студентам 2 08.02.2013 13:26
Конвертация single float в double float kypck Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 23.04.2012 00:22
Ошибка типа cannot convert `float*' to `float' for argument `1' ... Trackman Помощь студентам 3 23.05.2011 17:09
вопрос по функции gcvt(преобразовывает float в строку)) shurik_7866 C++ Builder 3 09.11.2009 23:58
вопрос про тип float Ildm Общие вопросы C/C++ 1 15.10.2009 08:25