Cómo estructuraremos los websites en 2016
Hoy encontré un artículo bastante interesante de una de las cosas que se nos trae CSS 3. El artículo original en inglés es de Peter Gasston. Me ha parecido tan interesante que he decidido hacer una traducción.
La dificultad a la que muchos desarrolladores hacen frente cuando comienzan con la maquetación de websites sin tablas es conseguir la disposicion de los elementos para que funcionen. Floats y posicionamientos son bastante fáciles para estructuras básicas, pero empiezan a ser increíblemente complejos cuando vas a un nivel más avanzado. Cuando el impacto de las CSS se intensificó, el problema era -y es- que las tablas siguen siendo mucho más convenientes en muchos casos, y hay veces en las que no hay alternativa decente sin contradecirte; no puedes usar display:table porque no lo soporta IE.
Una interesante solución es el CSS3 Advanced Layout Module (Módulo de Estructura Avanzado en CSS3).
Funciona así: Imagina que tienes una lista con cuatro elementos:
<li id="one">One</li> <li id="two">Two</li> <li id="three">Three</li> <li id="four">Four</li>
Utilizando la declaración display o display-model, podrías colocar los elementos en una cadena tal y como aparecerían en pantalla:
ul {
display-model: "ab"
"cd";
}
Y entonces asignamos un orden a los elementos hijos usando position:
li#one { position: a; }
li#two { position: b; }
li#three { position: c; }
li#four { position: d; }
Para estructurar los elementos li en forma de cuadrado sin usar floats y márgenes; he replicado el cómo sería usando una tabla.
| One | Two |
| Three | Four |
De forma alternativa, podríamos usar los mismos cuatro elementos para una distribución distinta:
ul {
display-model: "aa"
"bc"
"dd";
}
li#one { position: a; }
li#two { position: b; }
li#three { position: c; }
li#four { position: d; }
| One | |
| Two | Three |
| Four | |
Útil no? Es mucho más flexible que los ejemplos básicos mostrados aquí, y podríamos ahorrarnos en el futuro una cantidad de tiempo tremenda.
¿La desventaja? Hasta ahora solo está disponible como boceto y solamente ha sido asignado una prioridad media por la W3C. Añadiendo que el tiempo extra que tardan los navegadores en implementarlos, y no lo veremos muy pronto.
Genial, por fian alguien ha pensado en como ahorrar un trabajo bastante pesado. Gracias por la info Santi
Saludoos!
NOTA:
Ya que estamos, ahí va mi granito de arena a la Blogsfera: www.pelousesurlocean.tk (si se cuelga el .TK -> www.evostudio.com/loksea/litus-blog/lb_02)
[…] En este post anterior no pensaba poner mucho énfasis en el hecho de que el método de Layout avanzado puede que no llegue a suceder nunca; podría ser descartado por el W3C, no implementado por los fabricantes de navegadores o sustituido por alguno mejor […]
[…] Anteriormente ya habíamos hablado en el blog sobre algunas características que nos iba a traer CSS 3. […]