Sonido
CSS
Dreamweaver
Ridiculeces
Artículos
Site Check
JavaScript


 


Aviso:
Me he trasladado a:
http://www.tecnorama.org
(con algunos de estos contenidos y otros nuevos)
Reglas básicas para trabajar con tablas:

Este tutorial está basado en otro, muy recomendable de visitar, de JSHook, que explica excelentemente las nociones básicas que hay que tener en cuenta al trabajar con tablas. Sin embargo, lo encontré un poco complicado de entender si no se tiene muy claro cómo funcionan las tablas y las celdas, por lo que decidí hacer esta introducción.
ES MUY IMPORTANTE QUE OS QUEDEN CLAROS LOS TIPOS DE CELDAS Y TABLAS QUE PUEDE HABER..NO SIGÁIS LEYENDO HASTA QUE TENGÁIS ASIMILADO SU CONTENIDO.
Empezamos:

Sobre Celdas:

En las celdas, podemos distinguir 2 tipos, según la "fuerza" que tienen para modificar otras celdas:

Tipo1.- No tienen medida. La fuerza es nula, Tienden a quedarse como están, excepto que alguna celda adyacente de tipo 2 (o una celda con contenido) les obligue a moverse y encogerse. Al no tener medidas, si conviven varias celdas de tipo1 en la misma tabla, se reparten el espacio por igual.
Tipo2.- Sí tienen medida. Pueden hacer fuerza sobre las de tipo 1, pero siempre con el límite del contenido. En caso de coexistir 2 celdas de tipo 2, hacen más fuerza las que tienen su medida en porcentajes.


En ambos casos, Cuando tienen contenido, éste tiene más fuerza que el resto de sus propiedades: si tienen una imagen, podrán encogerse y estirar según su tipo, pero teniendo siempre como límite el que le marquen sus contenidos (sobre todo a la hora de encogerse): Si es una imagen, el ancho de la imagen. Si tienen texto, el ancho de la palabra más larga.


Ejemplos:

Celdas de tipo1 (sin medida):

Una tabla de 3 celdas y 500px de ancho:
     

Si a ninguna de las 3 celdas le asignamos un valor, las 3 tendrás a quedarse como están, repartirse por igual el espacio y mantener el ancho de la tabla .

Celdas de tipo 2 (con medida):

Una tabla de 500 px de ancho con:
-una celda sin medida
- una celda de 300px
-una celda sin medida
  300 px  

Una tabla de 500px con:
-una celda de 400 px.
-una celda del 80%.
El porcentaje es mas fuerte que la medida fija
400px 80%

Celdas con contenido

Una tabla de 500 px, con:
- una celda sin medida
- una celda de 400 px
- una celda sin medida pero con contenido (una imagen de 350 px)
El contenido hace fuerza sobre todo lo demás

400px

Una tabla de 500 px,con:
- una celda de 400px con contenido (texto),
- una celda de 80%
- una celda sin medida y con contenido (una imagen de 350 px)

400 80%

En este último ejemplo, la celda de la izquierda es forzada por la celda con porcentaje del 80% hasta limitarla al tamaño del texto (es decir, a su contenido). La celda de la derecha, pese a no tener medida, ejerce fuerza sobre las otras, que sí la tienen, por la fuerza de su contenido



Sobre Tablas

Aquí también veremos 3 tipos:

Tipo1.- Las que no tienen medida. Tienden a encogerse. Pueden ejercer fuerza sobre las celdas de tipo1 pero no sobre las demás.
Tipo2.- Ancho en pixeles No se encogen nunca, pero son fácilmente estirables por celdas con contenido y otras tablas. Así mismo, tienen mucha fuerza para estirar otros elementos. Podría decirse que la medida en píxeles indica realmente el ancho mínimo que deben tener y no su ancho fijo
Tipo3.- Ancho en porcentaje Pueden encogerse y estirarse con facilidad, Pueden ser forzadas incluso por celdas de tipo 2. No ejercen fuerza sobre ningún otro elemento, simplemente se adaptan al porcentaje especificado. Por ello, cuando se enfrentan a celdas de tipo 1 (sin ancho fijo) los resultados son impredecibles.

Ejemplos:

Tablas de Tipo1 (sin medida):

Una tabla de tipo sin medidas con 2 celdas sin medidas: Como puede ejercer fuerza sobre celdas de este tipo se encoge:

   

Una tabla sin medidas con:
- una celda sin medidas
- una celda de 250px:
Como no puede ejercer fuerza sobre la celda con medidas, sólo encoge en la zona de la celda sin ellas
  250px

Tablas de Tipo 2 (ancho en pixeles):
No encogen: Esta tabla tiene 500 px y una celda de 350 px

350px
500px


Demostración de que no son estirables por celdas con contenido: Una tabla de 500 px con una celda de 800 px:

800px
500px

Demostración de que son estirables por celdas con contenido:Una tabla de 300px con una celda sin medida pero con contenido:

jkhlkjoiuoiuoiiouoiuiouioujjkljkljkljkjljlkjlkjufioguafugoayguiayfgufyguiygyasiuy
300px

Demostración de que son estirables por otras tablas: Una tabla de 300 px con otra dentro de 500px (¡recuerda que no encogen!)
Para hacerlo más complejo:
- la tabla exterior (300px) tiene una celda de 400 px.
- la tabla interior (500px) tiene una celda sin medida. (a la tabla exterior le he dado un cellpad de 2px para que se vea):

 

Tablas de Tipo 3 (ancho en porcentajes)

Una tabla de 500px con una tabla del 100% dentro de ella:
La celda de la tabla interior tiene 600 px, pero ni la tabla ni la celda interiores pueden alargar la tabla exterior:

 

Una tabla de 500px con 2 celdas:
- una de 400px
- una sin medidas con una tabla del 100% dentro de ella:
La celda sin medidas se encoge, pese a tener una tabla dentro, porque ésta no opone ninguna resistencia a que la celda de de 400px se estire (al ser una tabla en %):

400px
 

Y para terminar: Hemos dicho que las tablas en porcentajes opuestas a celdas sin medidas tienen resultados impredecibles: Una tabla de 500 px con 2 celdas sin medidas. En la celda de la derecha hemos colocado una tabla del 100%. La celda de esta tabla tampoco tiene medidas:

 
 

En cambio, si damos un ancho de 460 px a la celda de la tabla interior...

 
460px

Esto es todo de momento. Ha sido muy complicado, pero si comprendéis perfectamente Con qué tipos de celda y tabla estáis trabajando, sabréis sacar provecho a sus defectos.

Para ayudar un poco, he "fabricado" una tabla imprimible, en la que he colocado los valores de fuerza y resistencia que puede tener cada celda/tabla, para que podáis imprimirla y tenerla a mano cuando estéis trabajando con ellas.

En el tutorial empezaremos a crear una página que se adapta al ancho de pantalla, pero que a su vez mantiene otras celdas sin modificar sus valores. Pulsa aquí para ver la página de demostración (prueba a estirarla y encogerla)

Después de ver la página, pasemos al tutorial>>

 

Links:
Creo que el tutorial de JSHOOK os será de mucha utilidad.

Murray R. Summers, uno de los sabios de Dreamwaver, también tiene otro tutorial, bastante sencillo de entender.

Eric Hockman te enseñará a diseñar tablas en Fireworks