Uso indiscriminado de div para maquetar páginas web
Llevo ya varios meses evangelizado en el uso de XHTML y CSS para el diseño de páginas web. De hecho, suelo estar de pelea con todo mi departamento para que no usen tablas para maquetar, no incluyan datos de diseño dentro del HTML. etc.
Después de estos meses, me veo capaz de conseguir con CSS buena parte de los diseños que planteamos, aunque sigue habiendo puntos sin solución, como el centrado vertical respecto a imágenes sin conocer su altura, y, sobre todo, la maquetación a la que nos hemos acostumbrado con las tablas.
Una de las ventajas que más repiten los evangelizadores, es la de poder cambiar el diseño sin necesidad de tocar el código HTML, algo que es verdad, salvo cuando comenzamos a rellenar con divs nuestro código HTML.
Habitualmente, el uso de divs nos permite estructurar la página en distintas zonas según su función (cabecera, menú, cuerpo, pie…). Pero aparte de esos divs, solemos vernos obligados a incluir otros cuya función es exclusivamente la de conseguir el efecto deseado en nuestro diseño (columnas a un lado o a otro, que el pie no se superponga sobre ninguna capa con float, etc.). Y ahí es donde comenzarán los problemas en poco tiempo.
Cuando queramos rediseñar una web en la que hayamos abusado de estos divs, y ese rediseño implique un cambio en su estructura (layout), es muy probable que debamos añadir, quitar, o modificar varios de esos divs. Si nuestro sitio está hecho con algún lenguaje de servidor y/o sistema de plantillas, ese cambio podría ser mínimo. Pero si nuestro sitio es estático, ese cambio termina afectando a todas las páginas que cambien su estructura, con lo que el uso de CSS no ha conseguido ese punto principal que pretendíamos: Cambiar el diseño de una web sin tocar el código HTML.
Es por ello que mi próximo objetivo en mi aprendizaje de los estándares web pasa por la generación de una plantilla de código HTML repleta de divs, que permita jugar con todas las estructuras habituales, y que no implique tocar el código HTML en ningún cambio de diseño. Algo que, realmente, ya existe en el paraíso del diseño CSS: CSSZenGarden.














