У меня возникла проблема с таблицей, которую я хочу заполнить в окне браузера. Это 3 колонки в ширину и 5 строк. Мой желаемый результат состоит в том, что каждая ячейка составляет 33% от ширины экрана, и каждая ячейка составляет 20% от высоты экрана. Нет фиксированных значений, вместо этого я хочу делать все с процентами, чтобы он изменял/растягивает, чтобы всегда заполнять браузер.Проблема с CSS, таблица, не заполняющая экран
Проблема заключается в том, что при изменении размера браузера, хотя ширина работает отлично, высота не работает одинаково. Несмотря на то, что я задал каждую строку TR как 20%, она не работает таким образом. Случается, что нижняя половина экрана остается пустой, а 5 строк не соответствуют высоте 20%, которую я указал. В одном странном случае (при попытке чего-то) первый ряд составлял 50% от высоты, а остальные 50% были нижними 4 строками. В настоящее время (как показано ниже) эти 5 рядов занимают около 60% высоты экрана, а остальные 40% не используются. Я упоминал, что ненавижу CSS?
Вот таблица:
<div id="portrait" style="width:100%;height:100%;">
<table cellpadding=0 cellspacing=0 border=1 style="width:100%;height:100%;">
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
</table>
</div>
В каждом уровне, я определяю ширину и высоту, а затем внутри я определяю относительное содержание имея в виду, родительский контейнер. На самом внутреннем уровне, где находится тег изображения, он установлен на 100% x100%, так что он заполняет его контейнер (ширина 33% определена в TD и высота 20%, определенная в TR).
Вот как я прочитал html выше, чем первое изображение. В div установлено значение 100% ширины браузера и 100% высоты. Он содержит только один элемент, таблицу. Таблица определена на 100% x100%, но это, конечно, ограничено родительским контейнером - div, но, как и 100% x100%, таблица должна быть полной размера браузера (IMHO). TR определяет ширину 100%, поэтому она заполняет ширину браузера. Он установлен на 20% высоты, поэтому я считаю, что это означает, что он должен быть зафиксирован на 20% от высоты стола, что составляет 20% от 100% экрана. ТД определяется как 33% ширины (3 столбца 33% для заполнения браузера), а высота 100% (этот столбец заполняет 100% его родительского ТР, который установлен на 20% от высоты браузера). Наконец, изображение настроено на заполнение TR/TD и поэтому установлено на 100% x100%.
Ваше эссе было слишком долго для меня хотят читать, но большинство проблем, чтобы сделать с 'height' и проценты связано с тем, что они не имеют базовую высоту работайте из - так что попробуйте добавить 'html, body {height: 100%}' и посмотреть, устраняет ли это вашу проблему. Если это не так, переформулируйте свой вопрос, чтобы он дошел до сути. –
И удалить высоту от – SVS
@My Head всего ТДА Hurts, это трудно найти идеальный баланс между слишком лаконичны и должна отвечать на поток вопросов и вызовов для получения дополнительной информации, и слишком многословными. Я упал на стороне слишком многословен на этот раз :-( – Dee2000