Ramón Corominas escribió:

> Venga, va, la última vez que explico el escenario:
>

Ante todo, disculpa si no he sabido entenderte, y no te impacientes 
tanto, pero se me hizo muy cuesta arriba seguirte la idea de fondo: 
cuando te enfocabas en detalles secundarios, yo también intentaba 
solucionar esos detalles secundarios.

Por favor, prueba a ver si esto resuelve tu "acertijo" :-)

http://www.saberweb.com.ar/emsencolumnas/index.html


He tomado la idea de un "min-width" en pixeles y un "max-width" en EM 
que aplicó Julián Landerreche en su propuesta (ver mensajes de anteayer 
en la lista).

Y simplemente he desplazado las columnas cuyo ancho "no es en EMs" 
mediante un padding "en EMs" aplicado del lado de las columnas flotadas 
de su misma fila, a una distancia levemente superior a la del ancho de 
esas columnas. Entonces, si crecen las columnas en EMs, se desplaza el 
contenido de la columna cuyo ancho "no es en EMs", dejando el lugar 
suficiente para que se muestren las columnas en EMs a medida que crecen.


> - Diseño líquido, que no haga sroll horizontal al aumentar el tamaño de 
> letra (hasta un 200%).

Cumplido (y superado), soporta hasta 7 niveles de zoom de solo texto en 
Firefox (sabiendo que 6 niveles es el 200%), sin hacer scroll y sin 
superponer las columnas.


> - N columnas, con contenidos desconocidos (no necesariamente menús, 
> puede ser cualquier tipo de contenido)

Cumplido, y aunque solo puse ejemplos de 2 y 3 columnas por fila, puede 
continuarse la idea con más columnas flotadas cuyo ancho esté en EM.

Ahora, si quisieras agregar más de una columna SIN ANCHO EN EM en "la 
misma" fila horizontal, entonces convendría usar un contenedor que 
divida la fila en "paquetes", cada uno de los cuales contenga UNA sola 
columna "libre" de ancho en EM, y luego todas las demás flotadas con el 
ancho en EM que quieras, siempre que la "libre" tenga un padding 
levemente superior al ancho de las columnas en EMs que comparten su 
"paquete" contenedor, aplicado del mismo lado hacia el que éstas flotan.

Pero a mi entender, crear más de 3 columnas teniendo como objetivo un 
usuario que verá esto a 6 niveles de zoom... no es una buena decisión de 
diseño, ya que cada columna será demasiado angosta, dificultando la lectura.


> - La altura de cada columna es indeterminable a priori (por ejemplo, los 
> contenidos se leen de una b.d.)

Cumplido, en la "columna 2 de la fila 2" tienes un ejemplo de columna 
cuyo contenido es menor en altura al de la columna 1 de esa fila, si 
tienes el texto a tamaño normal. En cuanto lo amplías 4 o 5 veces, la 
primera fila supera el alto de la segunda, y nada se desarma.


> - Algunas de las columnas deben poder tener anchos en ems para que 
> crezcan al aumentar la fuente (el objetivo de esta restricción es evitar 
> que sus contenidos se solapen con otros contenedores al aumentar, cosa 
> que puede ocurrir con los porcentajes o los pixels).

Cumplido, en la fila 1, la columna 1 tiene ancho en EM, y en la fila 2, 
las columnas 2 y 3 tienen ancho en EM.


> - El resto de las columnas deberán ajustar su ancho al restante tras 
> haber crecido las columnas en ems (se entenderá que estas columnas 
> variables son aún suficientemente anchas con un 200% de aumento como 
> para no producirse solapamientos).

Cumplido, se ajustan al espacio restante, y a 200% no se producen 
solapamientos.


> - En caso de existir más contenidos bajo las columnas, estos deben 
> desplazarse hacia abajo a medida que crece la altura de las columnas 
> superiores (¡ojo!, puede darse el caso de que una columna que antes era 
> menos alta pase a ser más alta al aumentar la fuente).

Cumplido, la fila 2 se desplaza hacia abajo cuando aumenta la altura de 
la fila 1, y la fila 3 se desplaza hacia abajo cuando aumenta la altura 
de las filas 1 y/o 2.


> 
> Si ahora miras mis ejemplos DIVS3 y TABLAS, verás que cumplen TODAS las 
> condiciones impuestas. Con DIVS flotados yo no he sabido hacerlo, aunque 
> repito que he visto algunos esquemas más o menos complejos que funcionan 
> relativamente bien, pero que añaden gran cantidad de divs extra y a 
> veces fallan.


Bueno, este esquema no agrega gran cantidad de divs extra, solo uno por 
"fila" al igual que tu ejemplo "DIVS3"; no veo que falle; está hecho con 
flotados; y no veo que sea complejo.

Así que creo que cumple TODAS las condiciones impuestas.

Dime si descifré el acertijo... :-)

Saludos,

--
Hernán Beati
http://www.saberweb.com.ar
_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a [email protected]
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo

Responder a