Страница 1 из 1
Расчитать высоту блока
Добавлено: 03 ноя 2006, 12:15
Nikoshka
Вот такая задачка есть. Я не силен в JS, но нужно посчитать высоту блока на основании высоты другого блока.
Можно ли прямо в CSS прописать:
height: ф-я получения высоты блока name;
Если нет, то как это еще реализовать? Есть еще тот факт, что блок от которого получаем высоту никак не указан т.е получить нужно его высоту, до которой он растянулся в браузере в пикселях.
Добавлено: 05 ноя 2006, 15:05
Nikoshka
Плз, помогите неужели никак нельзя его высоту посчитать?
Добавлено: 05 ноя 2006, 17:04
Duncon
ну может и можно но больно геморно, по идее к блоку нужно будет обратиться, а значит у него id должно быть (что сложно зависит от того чем является блок), такой расчет позможен к примеру из php...
Зачем такой гемор, не проще ли процентное соотношение указать и не париться..
Добавлено: 05 ноя 2006, 17:52
Nikoshka
Duncon,
Да не проще выходит, нужно верикально div растянуть по высоте безз лишних заморочек. Их 3 штуки как колонки. Две флоатятся влево и вправо и одна посередине. Никак немогу найти способ, чтобы их легко растянуть... Думал вот так сделать. Вычислять самый длинный и остальные приравнивать. Мб можно еще как-то?
Добавлено: 05 ноя 2006, 22:17
Duncon
Таблицы растягивай..
Добавлено: 06 ноя 2006, 06:10
Nikoshka
Duncon,
Это как внутри него? Или на таблицу заменить?
Добавлено: 06 ноя 2006, 11:04
Duncon
На таблицу, внутри текст сам изменять размены будет...
вот тебе примерчик
Код: Выделить всё
<table cellspacing="0" cellpadding="0" border="1" width="100%" height="120">
<tr>
<td width="20%" align="left">текст</td>
<td width="80%" align="right">текст2</td>
</tr>
</table>
В данном коде я сделал растяжку по длинне, так же можно и по высоте, можно внутрь засунуть еще таблицу и вней задать еще деление как раз получится разрез там где надо.. В нутрь таблицы можешь засовывать все что угодно, только помни ее границы зарубают форматирования документа, ну увидешь потом...
Добавлено: 06 ноя 2006, 16:32
Oscar
Nikoshka, ответ на самое первое сообщение
Код: Выделить всё
<html>
<head>
<title>test</title>
<script type="text/javascript">
function init() {
var source = document.getElementById("source");
var target = document.getElementById("target");
target.style.height = source.offsetHeight + "px";
target.style.width = source.offsetWidth + "px";
}
</script>
</head>
<body onload="init();">
[img]http://www.google.com/intl/ru_ALL/images/logo.gif[/img]
<div id="target" style="border: 1px solid #000000;"></div>
</body>
</html>
Добавлено: 07 ноя 2006, 08:45
Nikoshka
Oscar,
Спасибо большое, оказалось все так просто

Только не нашел я так хорошего справочника по DOM

Кстати когда пробовал onload у меня не работало ни в какую:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Добавлено: 07 ноя 2006, 13:02
Oscar
Nikoshka,
http://w3schools.com/htmldom/dom_reference.asp
и onload с таким док-тайпом у меня работает (FF 2.0, IE 6), видать не в нём проблема