2013-05-23 5 views
0

взгляните на это jsfiddle. как вы можете видеть, высота левого и правого div не совпадает с высотой центрального div. Как я могу расширить боковые divs и сделать высоту такой же, как центральный div? Я пробовал использовать высоту: 100%; но я не получил результат, который хотел.фон не покрывает всю площадь

мой HTML:

<div id="left"> 
    dfsfdsf 
</div> 
<div id="center"> 
fldskjflsjfls 
    <br/>gdfgdfg 
</div> 
<div id="right"> 
fdsflsdf  
</div> 

мой CSS:

#left {float:left;width:100px;background:blue;} 
#center {float:left;width:100px;background:purple;} 
#right {float:left;width:100px;background:green;} 
+0

Простой способ поставить 'высоту: - px'in каждого DIV – Xavier

+0

Я не хочу делать что. потому что результаты являются динамическими. – shnisaka

+0

Используйте 'min-height' и, возможно,' max-height', если необходимо? (http://jsfiddle.net/scyxC/3/) – adaam

ответ

5

Вместо плавающих дивы вы можете использовать в качестве альтернативы display: table-cell; так, что высоты однородны независимо от их содержания.

http://jsfiddle.net/scyxC/2/

#left {display: table-cell;width:100px;background:blue;} 
#center {display: table-cell;width:100px;background:purple;} 
#right {display: table-cell;width:100px;background:green;} 
+0

работает ли это со старыми браузерами? – shnisaka

+0

Поддерживается [от IE8 и далее] (http://caniuse.com/css-table) и во всех других основных браузерах. – Adrift

1

Вы можете либо указать высоту для каждого DIV, или установить их, чтобы быть 100%, и поместить их в контейнер DIV: Вот моя модификация вашей скрипкой:

Modification to Your jsFiddle

<div style="height: 100px;"> 
<div id="left" style="height: 100%;"> 
    dfsfdsf 
</div> 
<div id="center" style="height: 100%;"> 
    fldskjflsjfls 
    <br/>gdfgdfg 
</div> 
<div id="right" style="height: 100%;"> 
    fdsflsdf  
</div> 
</div> 
0

Причина этой неравномерной высоты обусловлена ​​количеством содержимого, которое вы вложили. Вы можете указать максимальную высоту каждого DIV или использовать display:table-cell; как предложено ADRIFT так: -

#left {display: table-cell;.....................} 
#center {display: table-cell;........................} 
#right {display: table-cell;..............................} 
+2

Кажется, неправильно просто копировать и вставлять ответ другого плаката, не так ли? –

+0

@John Oh ... Действительно? Если кто-то спросит: «Где Испания»? Один человек отвечает на свою Европу. Я также предоставляю тот же ответ. Это копия-вставка? –

+0

Для этого вопроса было только 2-3 эффективных решения (которые я знаю), из которых я предложил один. «Дисплей: таблица-ячейка» была известна мне и раньше. –

Смежные вопросы