У меня есть сгенерированный сервлет HTML, который имеет таблицу и один или два div в зависимости от конфигурации. Вот краткий пример:Растяните один или два divs на весь td с CSS
table {
table-layout: fixed;
}
td.td-div {
width: 80%;
}
td.td-text {
background-color: #faf0ff;
width: 20%;
}
div#outer {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
background: #f0fffa;
display: inline-block;
}
div.div-first, div.div-second {
background-color: #ccc;
margin: .1em 0 .1em 0;
padding: 0;
width: 100%;
}
<table>
<tr>
<td class="td-div">
<div id="outer">
<div class="div-first">first div</div>
<div class="div-second">Second div</div>
</div>
</td>
<td class="td-text">It's just a text to fill this empty space. It's just a text to fill this empty space. It's just a text to fill this empty space.</td>
</tr>
</table>
Проблема заключается в том, что мне нужно, что дивы, чтобы заполнить всю Т.Д., независимо от того, если есть только один или оба из них. Можно ли распространять первый и второй divs (или просто растянуть первый div, если нет второй) в ячейку только с CSS?
Обновление: Мне нужны эти divs («first div» и «second div»), чтобы быть 100% -ной шириной ячейки и 50% высоты ячейки при их наличии и 100-процентной высотой, когда есть только один.
Обновление: Число разделов может быть динамическим.
К сожалению, я должен поддерживать IE9. Насколько я понимаю, flex поддерживается с тех пор 10 или даже 11. – BbIKTOP
Но это хорошая идея, спасибо вам! – BbIKTOP
Ну, это позор :(Трудно получить динамичные гибкие макеты в тех старых браузерах IE. Возможно, вам придется использовать javascript – zgood