2013-11-22 7 views
1

Я хочу, чтобы достичь такой компоновки:Получить две дивы, чтобы заполнить оставшиеся высота

|---| |------------| 
| | |  b  | 
| a | |____________| 
| | |------------| 
|___| |______c_____| 

Код:

<table> 
    <tr> 
     <td class="leftSide">a</td> 
     <td class="rightSide"> 
      <div class="mainContent">b</div> 
      <div class="bottomContent">c</div> 
     </td> 
    </tr> 
</table> 

Где коробка a «s высота должна изменить размер подходит как b и c если их итог выше, чем он сам. В настоящее время это работает, потому что .rightSide установлено на display: table, с divs b и c установлено на display: table-row.

Однако, если содержание a заставляет его быть выше, чем правая сторона, высота правой стороны остается неизменной - содержащиеся td размеры изменяются, но их содержимого нет. Я хочу b (.mainContent), чтобы заполнить его оставшуюся высоту. Как мне это сделать?

JSFiddle

+2

Первые вещи сначала. Почему вы используете «таблицы»? – melancia

+0

Да, похоже, что rowspan выполнит задание lol – Huangism

+0

@MelanciaUK, чтобы изменить размер как левой, так и правой стороны одинаково, возможно –

ответ

2

Я думаю, что вы ищете атрибут rowspan. Это позволит вам сделать один ряд строк: td.

попробовать что-то вроде этого:

<table> 
    <tr> 
     <td class="leftSide" rowspan="2">a</td> 
     <td class="rightSide">b</td> 
    </tr> 
    <tr> 
     <td class="rightSide">c</td> 
    </tr> 
</table> 

JSFiddle

+0

Спасибо за простое решение. Вопрос: сейчас, 'c' занимает оставшуюся высоту. Как я получу 'b', чтобы это сделать? http://jsfiddle.net/q9f3F/1/ – idlackage

+0

Я думаю, что вы ищете что-то вроде [этого] (http://jsfiddle.net/jdwire/q9f3F/2/). Да, это противно, но это работает. Кредит: http://stackoverflow.com/a/15536718/1721527 –

+0

Интересно, как это по существу то же самое, что у меня было раньше, за исключением реальной таблицы вместо свойств CSS, но теперь я вижу, почему она работает. Мне просто не хватало 'height: 100%' on'. RightSide'. Благодаря! – idlackage

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