Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/03/2007, 10:10
xamaruk
 
Fecha de Ingreso: noviembre-2003
Mensajes: 13
Antigüedad: 20 años, 5 meses
Puntos: 1
Re: Div dentro de una celda de tabla, ¡ayuda!

Hola anibalpotenza.
El scroll horizontal lo puedes resolver cambiando el atributo "position" del div, en lugar de absolute déjalo en relative. De este modo no hay pegas, tanto en Firefox como en IE (aunque yo lo probé en el 6).
Para el scroll vertical, que supongo que es el que te interesa, la cosa se complica más. El problema viene porque, hasta donde yo sé, los navegadores no reconocen el atributo de altura para las tablas ni las celdas. Es más, las celdas tienden a crecer para mostrar todo su contenido si las dimensiones de este sobrepasan las medidas de la propia celda, o las de la tabla. Por lo tanto en tu caso la celda crece hacia abajo para mostrar todo el contenido del div, ya que la altura de éste la has especificado en relación a la altura de la celda que lo contiene (40%).
Se me ocurre dos formas de resolverlo, aunque no sé si serán compatibles con tu proyecto. La primera es especificar una altura en píxeles al div, eso determina al mismo tiempo la altura de la celda (lo que puede ser un problema en tu diseño), y si el contenido es mayor que la altura que le das al div aparecerá el scroll.
La otra opción es por si necesitas que la altura del div sea del 40% de la altura de la celda. En ese caso puedes anidar tu div al 40% de altura dentro de otro que si tendrá una altura en píxeles y que será el que determine la altura de la celda. Quedaría así:

Código HTML:
<table width="750" border="2" cellspacing="0" cellpadding="0">
  <tr>
    <td>
	<div id="Layer1" style="position:relative; z-index:1; background-color: #99CCCC; layer-background-color: #99CCCC; border: 1px none #000000; height: 200px;">
<div style="width:40%; height:40%; overflow:scroll; position:relative;">
			<p>	HOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDO
				HOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDO
				HOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDO
				HOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDO
				HOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDO
				HOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDO
				HOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDO
				HOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDO
				HOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDOHOLAMUNDO
			</p>
  </div>
</div>
	</td>
      </tr>
 </table> 
Espero que te sirva de ayuda
Un saludo