| 
	| 
	
	| 
		
	| 
			
			 
			
				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>, даже если оно не отображается в браузере? |  |  
	| 
		
	| 
			
			 
			
				21.12.2009, 16:05
			
			
			
		 |  
	| 
		
			|  | 
       |  | 
					Регистрация: 27.12.2008 
						Сообщений: 4,201
					 
		
 |  |  
	| почему бы не добавлять overflow: hidden после того, как выяснишь высоту? |  |  
	| 
		
	| 
			
			 
			
				21.12.2009, 19:21
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 15.12.2009 
						Сообщений: 742
					 
		
 |  |  
	| 
	
 
	| Сообщение от x-yuri |  
	| почему бы не добавлять overflow: hidden после того, как выяснишь высоту? |  
	
 высоту не выяснить пока не применишь код в DOM.. а если применять без хиддена, то получится мерцание контента и т.п., я лично обхожу следующим образом, если элемент скрыт (display: none): visibility: hidden, display: fixed; узнаю высоту/ширину, восстанавливаю display, visibility;			 Последний раз редактировалось PeaceCoder, 21.12.2009 в 19:24.
 |  |  
	| 
		
	| 
			
			 
			
				21.12.2009, 19:34
			
			
			
		 |  
	| 
		
			|  | 
       |  | 
					Регистрация: 27.12.2008 
						Сообщений: 4,201
					 
		
 |  |  
	| ну тогда уж display: none, узнаем высоту, а потом display: block; overflow: hidden. Хотя все равно контент будет перемещаться. display: fixed, кстати, не везде работает    
а вообще все от ситуации зависит, о чем, надеюсь ТС нам сообщит. Типа, "когда нужно узнать высоту?" и "критично ли изменение расположения элементов на странице?" |  |  
	| 
		
	| 
			
			 
			
				21.12.2009, 20:13
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 15.12.2009 
						Сообщений: 742
					 
		
 |  |  
	| 
	
 
	| Сообщение от x-yuri |  
	| у тогда уж display: none, |  
	
 неузнаешь. при display: none элемент не имеет высоты и ширины. 
	
 
	| Сообщение от x-yuri |  
	| display: fixed, кстати, не везде работает |  
	
 не display, а position: fixed; перепутал. А на счет не все поддерживают - опять ие6 ? он с ие7 поддерживается. |  |  
	| 
		
	| 
			
			 
			
				21.12.2009, 22:51
			
			
			
		 |  
	| 
		
			|  | Модератор Всея Форума       |  | 
					Регистрация: 14.05.2009 
						Сообщений: 4,021
					 
		
 |  |  
	| 
	
 
	| Сообщение от PeaceCoder |  
	| неузнаешь. при display: none элемент не имеет высоты и ширины. |  
	
 При visibility:hidden узнаешь. |  |  
	| 
		
	| 
			
			 
			
				21.12.2009, 23:15
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 15.12.2009 
						Сообщений: 742
					 
		
 |  |  
	| 
	
 
	| Сообщение от B~Vladi |  
	| При visibility:hidden узнаешь. |  
	
 А я что написал  в посте? выше этого ответа? |  |  
	| 
		
	| 
			
			 
			
				21.12.2009, 23:40
			
			
			
		 |  
	| 
		
			|  | Пионэр       |  | 
					Регистрация: 16.11.2009 
						Сообщений: 1,322
					 
		
 |  |  
	| 
var o = document.getElementById("teg1");
alert(/**/o.scrollHeight - o.clientHeight/**/)
			 Последний раз редактировалось subzey, 21.12.2009 в 23:45.
				Причина: подсветка в коде
 |  |  
	| 
		
	| 
			
			 
			
				22.12.2009, 00:32
			
			
			
		 |  
	| 
		
			|  | Модератор Всея Форума       |  | 
					Регистрация: 14.05.2009 
						Сообщений: 4,021
					 
		
 |  |  
	| 
	
 
	| Сообщение от PeaceCoder |  
	| А я что написал в посте? выше этого ответа? |  
	
 Аха, туплю  |  |  
	| 
		
	| 
			
			 
			
				22.12.2009, 14:06
			
			
			
		 |  
	| 
		
			|  | 
       |  | 
					Регистрация: 27.12.2008 
						Сообщений: 4,201
					 
		
 |  |  
	| да тут по-моему все протупили, кроме subzey . Правда непонятно, зачем вычитать clientHeight, так что может и все    
	
 
	| Сообщение от PeaceCoder |  
	| опять ие6 ? |  
	
 естественно, неужели так сложно переместить элемент за верхний левый край? |  |  |  |