LINUX.ORG.RU

как Правильно растянуть div на 100% от доступного по высоте?


0

1

гуглил. нагуглил несколько решений. пока ни одно не помогло.

вот одно из них: http://dnzl.ru/view_post.php?id=190

суть:

html и body имеют жестко заданную высоту 100%. и только после этого можно задавать 100% высоты диву.

мне же нужно вложить следующим образом:
html
- body
- - content (див родитель - содержит заголовок, описание и див с фотографией
- - - container (див в который вложен показ фотографии)

нужно что бы content имел 95% ширины (но в пределах от 700 до 1200px) и авто высоту (по всему доступному пространству),
а container имел по 100% высоты и ширины (от доступного у родителя).

Пример (в который я не включал рекомендации по ссылке выше): http://78.46.229.98/exhibits/14.html

Выдержки из хтмл и стилей:

структура документа:

<!DOCTYPE html>
<head>
bla bla bla
</head>

<body class="white">

<div id="content">

	<div class="about">
		<h2>Название экспоната</h2>
		
	Год \ век<br />
	Автор<br />
	Описание (материалы)

	</div>

	<div class="back">
		<a href="../.html?xml=.xml&view.hlookat=5.00&view.vlookat=0.00&view.fov=60.00" rel="nofollow">Вернуться в музей</a>
	</div>

	<div id="container">
	</div>
</div>
</body>
</html>

стили:

html, body { 
	font:10pt/14pt Verdana, sans-serif; 
	}

#content { 
	width:95%; 
	max-width:1200px; 
	min-width:700px; 
	margin:auto; 
	}

#container { 
	width:auto; 
	height:600px; 
	color:#ff0000; 
	}	

как нужно сделать Правильно?


Правильно не делать так, вообще. Но если очень хочется можно попробовать таблицы (или display с табличными значениями) :}

Deleted
()
Ответ на: комментарий от Deleted

Почему не делать? А если нужно? Много «длинных по вертикали» фоток. Зачем оставлять белое поле снизу. Пусть на всю доступную высоту показывает.

С таблицами могут какие-нибудь проблемы вылезти?

dk-
() автор топика
Ответ на: комментарий от dk-

Не нужно, это же веб, а не газета. Но если кровь из носу надо, но, конечно, можно.

С таблицами могут какие-нибудь проблемы вылезти?

В теории не должны. Верстали же таблицами сколько и ничего, все живы.

Deleted
()
Ответ на: комментарий от Deleted

Ах, да, о таблицах. Не все браузеры разрешают делать position: relative на сами ячейки, если тебе это вдруг нужно (чтобы внутри делать position: absolute для чег-нибудь).

Deleted
()
Ответ на: комментарий от dk-

Ну, в общем, да. Т.к. 100% высоты у тебя будет 100% ото всей родительской высоты, calc()'ов практически нигде никаких нет, а заранее высота шапки у тебя неизвестна (тем более в процентах, т.к. общая высота тоже неизвестна). Разве что жабаскриптом считать. И при каждом ресайзе повторять.

По идее, на дивы можно навесить display: table, display: table-cell, display: table-row и получить условно «дивы» :)

Deleted
()

В GWT: RootPanel ловит ResizeEvent, шлет его потомку (он один), а потомок в зависимости от своего конфига и логики шлет своему(-им) потомку(-ам). Каждый потомок, получив такой ивент вычисляет размеры родителя и в зависимости от них и своих конфигов вычисляет свои и ставит. Так что, только жопоскрипт, только хардкор.

GateKeeper ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.