![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
19.12.2009, 07:59
|
Интересующийся
|
|
Регистрация: 10.09.2009
Сообщений: 20
|
|
Высота скрытого содержания в теге, если для него установлено overflow:hiden;
Подскажите, пожалуйста, свойство для определения высоты содержимого тега, если оно частично скрыто при помощи overflow:hidden;
Код:
|
<div style="overflow:hidden; height:10px;" id="teg1">
текст текст текст
<p>
текст текст текст текст
</p>
<div><img src="image.gif" /></div>
</div> |
Высота видимой части тега <div> с id="teg1" определяется как document.getElementById("teg1").offsetHeight. В данном примере она будет равна 10px. Хотя в теге содержится много текста и картинка, но offsetHeight возвратит размер видимой части тега. Но есть ещё скрытое содержание тега, скрываемое при помощи указания overflow:hidden;Как можно узнать высоту всего содержимого тега <div id="teg1">..</div>, даже если оно не отображается в браузере?
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
21.12.2009, 16:05
|
![Аватар для x-yuri](https://javascript.ru/forum/image.php?u=1387&dateline=1271010861) |
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
почему бы не добавлять overflow: hidden после того, как выяснишь высоту?
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
21.12.2009, 19:21
|
![Аватар для PeaceCoder](https://javascript.ru/forum/image.php?u=4775&dateline=1302971806) |
Профессор
|
|
Регистрация: 15.12.2009
Сообщений: 742
|
|
Сообщение от x-yuri
|
почему бы не добавлять overflow: hidden после того, как выяснишь высоту?
|
высоту не выяснить пока не применишь код в DOM.. а если применять без хиддена, то получится мерцание контента и т.п., я лично обхожу следующим образом, если элемент скрыт (display: none): visibility: hidden, display: fixed; узнаю высоту/ширину, восстанавливаю display, visibility;
Последний раз редактировалось PeaceCoder, 21.12.2009 в 19:24.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
21.12.2009, 19:34
|
![Аватар для x-yuri](https://javascript.ru/forum/image.php?u=1387&dateline=1271010861) |
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
ну тогда уж display: none, узнаем высоту, а потом display: block; overflow: hidden. Хотя все равно контент будет перемещаться. display: fixed, кстати, не везде работает
а вообще все от ситуации зависит, о чем, надеюсь ТС нам сообщит. Типа, "когда нужно узнать высоту?" и "критично ли изменение расположения элементов на странице?"
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
21.12.2009, 20:13
|
![Аватар для PeaceCoder](https://javascript.ru/forum/image.php?u=4775&dateline=1302971806) |
Профессор
|
|
Регистрация: 15.12.2009
Сообщений: 742
|
|
Сообщение от x-yuri
|
у тогда уж display: none,
|
неузнаешь. при display: none элемент не имеет высоты и ширины.
Сообщение от x-yuri
|
display: fixed, кстати, не везде работает
|
не display, а position: fixed; перепутал. А на счет не все поддерживают - опять ие6 ? он с ие7 поддерживается.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
21.12.2009, 22:51
|
![Аватар для B~Vladi](https://javascript.ru/forum/image.php?u=2454&dateline=1260987856) |
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от PeaceCoder
|
неузнаешь. при display: none элемент не имеет высоты и ширины.
|
При visibility:hidden узнаешь.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
21.12.2009, 23:15
|
![Аватар для PeaceCoder](https://javascript.ru/forum/image.php?u=4775&dateline=1302971806) |
Профессор
|
|
Регистрация: 15.12.2009
Сообщений: 742
|
|
Сообщение от B~Vladi
|
При visibility:hidden узнаешь.
|
А я что написал в посте? выше этого ответа?
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
21.12.2009, 23:40
|
![Аватар для subzey](https://javascript.ru/forum/image.php?u=4363&dateline=1260060405) |
Пионэр
|
|
Регистрация: 16.11.2009
Сообщений: 1,322
|
|
var o = document.getElementById("teg1");
alert(/**/o.scrollHeight - o.clientHeight/**/)
Последний раз редактировалось subzey, 21.12.2009 в 23:45.
Причина: подсветка в коде
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
22.12.2009, 00:32
|
![Аватар для B~Vladi](https://javascript.ru/forum/image.php?u=2454&dateline=1260987856) |
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от PeaceCoder
|
А я что написал в посте? выше этого ответа?
|
Аха, туплю ![](https://javascript.ru/forum/images/smilies/smile.gif)
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
22.12.2009, 14:06
|
![Аватар для x-yuri](https://javascript.ru/forum/image.php?u=1387&dateline=1271010861) |
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
да тут по-моему все протупили, кроме subzey. Правда непонятно, зачем вычитать clientHeight, так что может и все
Сообщение от PeaceCoder
|
опять ие6 ?
|
естественно, неужели так сложно переместить элемент за верхний левый край?
|
|
|
|