Foros del Web » Creando para Internet » HTML »

Problema Con Distribucion De Table

Estas en el tema de Problema Con Distribucion De Table en el foro de HTML en Foros del Web. Hola foreros: Yo q no soy precisamente experto en esto del html, tengo el siguiente problema: Tengo una table con la siguiente distribucion: table tr ...
  #1 (permalink)  
Antiguo 10/06/2003, 03:09
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 15 años
Puntos: 1
Problema Con Distribucion De Table

Hola foreros:

Yo q no soy precisamente experto en esto del html, tengo el siguiente problema:

Tengo una table con la siguiente distribucion:

table
tr
td rowspan=2
td
/tr
tr
td
/tr
/table

de tal forma q queda una celda q ocupa dos lineas y a su derecha otras 2 celdas en vertical, es decir, simulando la tipica estructura de frames de menu a la izq, cabecera arriba y debajo el contenido.

El asunto es que el menu y la cabecera siempre tienen el mismo tamaño, determinado por el menu, imagenes, etc., pero la celda del contenido no. Puede variar segun lo que corresponda.

El asunto es que como varia el contenido, provoca, o al menos eso parece, que la altura de la celda de la cabecera varie dependiendo de lo que haya en la celda de contenido.

Es decir, si contenido = a largo, que haya que utilizar el scroll, la altura de la cabecera se ajusta perfectamente a lo que tiene, pero si lo que hay en la td de contenido es poco, la altura de la cabecera se expande.

He comprobado q todas las tags de table, tr y td estén cerradas. He probado mil combinaciones con la propiedad height, tanto en las tr como en las td, y también estableciendola en style.

En fin, espero haberme explicado bien, pq creo que esto es un rollo, pero mis jefes me dicen q lo solucione, y no veo como.

AYUUUUUUUUUDA por favor.

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #2 (permalink)  
Antiguo 10/06/2003, 03:20
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 15 años, 10 meses
Puntos: 4
Por que no mejor utilizas FrontPage o DreamWeaver para editarlas? quedan tal como tu quieres
  #3 (permalink)  
Antiguo 10/06/2003, 03:29
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 15 años
Puntos: 4
Prueba a darle a tu cabecera un alto determinado en pixeles que comprubes que va bien para todo tipo de navegadores y tamaños de letra.

Así:

Código:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="25%" rowspan="2" valign="top">Menu</td>
    <td height="100" valign="top">Cabecera</td>
  </tr>
  <tr> 
    <td valign="top">Contenidos</td>
  </tr>
</table>
Lo de alinear a top no es necesario, pero te lo recomiendo, ya que si el texto de los contenidos es muy largo, por defecto, el texto del menú aparecerá centrado verticalmente en su celda y puede que no se vea entero.

Suerte.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 10/06/2003, 10:30
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 15 años
Puntos: 1
Gracias a zeudio y Bravenap por contestar.

zeudio: no puedo utilizar esos "editores" pq los contenidos q conforman la celdas, etc., son altamente complicados (dinámicos a tutiplen, hago muchos include, etc.), y controlarlo con estos editores no parece la mejor de las ideas.

Bravenap: Como ya dije, le he dado 100 vueltas a la propiedad height, y na' de na'.

¿No se os ocurre nada?. Si alguién pudiera decirme el pq cree q pueda pasarme esto, a lo mejor podría encontrar soluciones.

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #5 (permalink)  
Antiguo 10/06/2003, 10:45
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
¿Se puede ver en algun lado?

O al menos pega el código que estás usando
  #6 (permalink)  
Antiguo 11/06/2003, 10:23
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 15 años
Puntos: 1
Hola tunait:

El codigo q tengo es

<table width="100%" border="1"> <!-- TABLE GENERAL -->
<tr>
<td valign="top" rowspan="2" class="tablamenu"><!--menu-->
<!-- #include file="menu1.inc" -->
</td>
<td width="100%" valign="top"><!--cabecera-->
<!--#include file="cabecera.inc" -->
</td>
</tr>
<tr><!--contenido-->
<td width="100%" valign="top">
<table width="100%" border="0">
<tr>
<td width="100%" valign="top">
<!--#include file="busqueda.inc" -->
</td>
<%
'si parametro <> n, se añade esta celda.
if (Request("boolOfSem") <> "n") then
%>
<td rowspan="2" valign="top">
<!--#include file="inc/ofsemana.inc" -->
</td>
<%end if%>
</tr>
<tr>
<td valign="top" width="100%">
<%
'se añade contenido dado por parametro
If Trim(lsContenido) <> "" Then Server.Execute(lsContenido)
%>
</td>
</tr>
</table>
</td>
</tr><!--contenido-->
</table> <!-- TABLE GENERAL -->

Como ves, la estructura es sencilla, y se "rellena" mediante includes. Hay algo de codigo asp, q espero q no te suponga problemas. Si no lo conoces, dimelo y te lo explico.

Gracias por tu ayuda.

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #7 (permalink)  
Antiguo 12/06/2003, 11:49
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Hola de nuevo

Puesss la mala noticia es que he probado tu código insertando primero contenidos cortos y luego le he ido añadiendo más y más hasta que quedó una longaniza de página y en ningún momento ha variado la altura de la celda del encabezado

No hay algún sitio online donde poder comprobar cómo te queda a ti?
  #8 (permalink)  
Antiguo 12/06/2003, 14:09
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 15 años
Puntos: 1
No tunait. El proyecto está en modo local en su totalidad.

Ya he revisado n veces todo, incluyendo los contenidos de las celdas, y na'.

Bueno, seguire investigando. GRACIAS.
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #9 (permalink)  
Antiguo 14/06/2003, 12:48
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 15 años
Puntos: 1
si existe el problema

Hola Tunait, y a todos:

No se como lo habrás probado, pero si usas una estructura tan simple como esta

<table cellspacing="0" cellpadding="0" border="1" width="100%">
<tr>
<td id=1 rowspan="2" width="137" valign="top">
<img src="blanco.gif" height="650" width="135" border="1">
</td>
<td id=2 width="*" height="100" width="*" valign="top">
<img src="blanco.gif" height="65" width="15" border="1">
</td>
</tr>
<tr>
<td id=3 valign="top" height="*">
<img src="blanco.gif" height="80" width="150" border="1">
</td>
</tr>
</table>

mi problema es evidente que existe.

Si juegas con los height de las td y las img, veras que si fijas el tamaño de la td 2 y dejas "suelto" el de la 3, que sería lo suyo, t haces que la img del td 3 tenga una altura pequeña, la de la td 2 se expande, no respetando la height fijada.

Sin embargo, si fijas la height de la td 3, y dejas en * la de la td 2, si que lo hace bien, pero eso no es lo que busco, pq el tamaño de los contenidos de la td 3 pueden variar de 25 a 1000.

También he observado que si el contenido de la td 1 es pequeño, no se produce el problema, pero es que en la realidad, en mi proyecto real, este contenido es de + de 600, asi q ...

Bueno, espero que alguién pueda ayudarme.

ESTOY DESESPERADO.
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender

Última edición por fjmasero; 14/06/2003 a las 12:52
  #10 (permalink)  
Antiguo 14/06/2003, 13:55
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
es realmente exasperante.

Y (sin que sirva de precedente) eso que Netscape lo muestra de guapa madre

Bueno, a grandes males grandes remedios:

A ver qué te parece.

Le has dado a la celda 1 (menu) una altura de 650.
Como cuando se le asigna un valor a la altura o anchura de una celda en realidad lo que hacemos es establecer ese valor como mínimo, pero no podemos establecerlo como máximo, pues explorer le pone esos 100 pixels mínimos y el resto hasta el final de la altura total de la tabla lo reparte entre la celda 2 y la celda 3.

Lo que se puede hacer entonces es establecer altura altura mínima de la celda 3 (la de contenidos variables) dándole por altura el valor de la altura mínima de la tabla (que viene dado por la celda 1, 650 pixels) menos el valor de la celda 1 (100px)

Es decir, he supuesto que tu menú mide 650 pixels, por eso has dado ese valor a la imagen que ocupa el lugar del menú. Así que la altura mínima de la tabla (aunque hayan pocos contenidos) será de 650px. Así que te interesa que la celda 3, aunque esté medio vacía tenga como altura mínima esos 650 menos los 100 de la celda 2

Yo, si fuera tú, no me entendería

Pero bueno, mi sugerencia, prueba esto:

<table cellspacing="0" cellpadding="0" border="1" width="100%">
<tr>
<td id=1 rowspan="2" width="137" valign="top">
<img src="blanco.gif" height="650" width="135" border="1">
</td>
<td id=2 height="100" valign="top"> <img src="blanco.gif" height="65" width="15" border="1">
</td>
</tr>
<tr>
<td id=3 valign="top" height="550" > <img src="blanco.gif" height="80" width="150" border="1">
</td>
</tr>
</table>

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:36.