div/table на 100% по высоте в XHTML Strict

aZa

Новичок
div/table на 100% по высоте в XHTML Strict

Возникла глупая проблема с XHTML, решение которой найти никак не получается ... :(

Есть таблица на на 1 строку и 3 колонки, каждая из которых может иметь разною высоту взависимости от контента. Задача разместить div/table (block-элемент) в каждой из этих трех ячеек, который бы занимал 100% высоты ячейки. Стиль с height: 100% игнорируется ИЕ ... Работать должно в ФФ, ИЕ и Опера последних версий.

Все что "нарыл" в нете строится на примерах с html,body {height: 100%} и на div/table, который тут же под ними с его соответсвенно разверткой на 100%. Но у меня ситуация такая, что контент уже идет и нужно просто на 100% заполнить ячейки таблицы ... :rolleyes:
 

SelenIT

IT-лунатик :)
Насколько мне известно, универсального решения этой проблемы до сих пор не найдено никем. Получить 100% от высоты элемента с height:auto путем наследования стандарт не позволяет.
 

su1d

Старожил PHPClubа
если проблема только в ИЕ, то можешь попробовать что-то типа:

div { height:100%; height:expression(offsetParent.clientHeight); }

первое правило -- для всех,
второе -- только для ИЕ, а остальными будет проигнорировано.
 

aZa

Новичок
2Kpom: дело в том, что таблица, как элемент, тоже не растягивается на 100% своего парента (по крайней мере мне этого добиться не удалось ...)

2su1d: что именно мне вернет offsetParent.clientHeight ? что-то "гуглинг" в ответе на этот вопрос совсем не помогает ... :roll: ... не совсем понимаю зачем мне clientHeight, если мне нужно просто парент элемент "заполнить" ... :roll:
 

Кром

Новичок
Это пример растягивания с таблицей.
PHP:
<table width="100"  style="border: 1px solid black;">
	<tr height="100%">
		<td valign="top" height="100%" width="50">
			<div style="border: 1px solid red;"> asdflk gjsadlfj glskdjf lgkjsdlkfj lksjdflg</div>
		</td>		
		<td valign="top" width="50">
			<table width="100" height="100%" style="border: 1px solid black;">
				<tr>
					<td valign="top">
						test test test
					</td>
				</tr>
			</table>			
		</td>
	</tr>
</table>
Т.е. нужно указать 100% у tr внешней таблицы и 100% у тега table внутренней таблицы. У меня работает в Opera,IE,FF.
 
Сверху