Hace unas semanas estaba yo navegando en horario laboral (como otras tantas veces) y casualmente caí en el blog de Rodrigo Duarte. Me entretuve leyendo un artículo y lo ví adecuado para empezar a dar vidilla a mi blog. Se trata de los 10 mandamientos del diseño en css, ideal para comenzar a poner los apartados de diseño web.
Este artículo explica las normas principales que no debemos olvidar a la hora de maquetar nuestra página web.
Espero que lo disfrutéis como yo lo he hecho.
Gracias Rodrigo
CSS: las tablas (o DIV) de la ley otro decálogo más — (Web)
Obviamente, nuestro viejo y querido Moisés estaba out con sus tablas de la ley.
En este caso, deberían ser los DIVs de la ley… o quizá no, ya que podríamos considerar los mandamientos como datos tabulados.
Por supuesto, como este tipo de decálogos dicen tener una función educativa, hay que enfocarse en aquello que más cuesta a quienes están pasando de tablas a CSS. Propongo lo siguiente.
- Comprenderás tu código HTML lo mejor posible
- No utilizarás clases en vano
- Utilizarás la herencia para evitar la redundancia
- No utilizarás ID a tontas y a locas
- Utilizarás tablas donde corresponde. Sólo donde corresponde
- No desearás los estilos de tu prójimo
- Sólo utilizarás Explorer para probar compatibilidad
- Utilizarás unidades relativas dentro de lo posible
- No olvidarás la accesibilidad
- Validarás tu HTML y tu CSS
Puede ser provechoso ir por partes:
Comprenderás tu código HTML lo mejor posible
Uno de lo principales problemas que hay a la hora de enseñar CSS es que para sacarle el jugo a los CSS se requiere entender bien el HTML. Muchas veces nos saltamos la enseñanza de HTML, y eso es aún posible al enseñar diagramación con tablas, pero si estamos enseñando estándares, creo que ya no procede.
Una de las cosas que requiere más reaprendizaje es entender el HTML desde el punto de vista de la estructura del documento, y separar lo visual de lo estructural.
No utilizarás clases en vano
Las clases son una solución súper fácil para asignar formato, pero con frecuencia se utilizan clases en ocasiones en las que es mucho más limpio y elegante utilizar la estructura del documento. Es un caso usual que se asigne una clase a un enlace de encabezado, por ejemplo, siendo que es más simple definir #encabezado a, por ejemplo, en vez de ir por la vida dando <a class=”encabezado” href=”blablabla”> en el HTML y definiendo .encabezado en la hoja de estilos.
Recordemos que la idea es siempre trabajar lo menos posible.
Utilizarás la herencia para evitar la redundancia
Mirando definiciones de CSS, he notado que es común al principio ir repitiendo mucha información redundante en los estilos.
Si ya tenemos definido que nuestra página utilizará Verdana, Arial, Helvetica, Sans-serif en el body, no es necesario irlo repitiendo en los encabezados, párrafos, enlaces, etc. Misma historia si tenemos el texto base definido en un tamaño de 0.9ems, no hay para que repetirlo. Es conveniente saber qué propiedades se heredan y utilizarlas.
Puede ser útil también trabajar en porcentajes de valores conocidos. Si definimos nuestro body con un tamaño de texto de —digamos— 12px (discutiblemente pecaminoso en sí mismo), podemos definir encabezados, listas, citas, etc. en porcentajes de ese tamaño, de tal forma que si modificamos el tamaño base, todo se ajusta proporcionalmente.
No utilizarás ID a tontas y a locas
Los ID son “nombres propios” de elementos de nuestra página, que nos permiten llamarlos “de tú” mediante el gato, o selector de ID.
Es una buena idea usar ID para nombrar elementos únicos en nuestra página.
No es una buena idea usar ID para nombrar elementos que se repiten. Para eso están las clases.
También es saludable utilizar nombres asociados con la función de los elementos, para facilitar su recordación cuando abramos el código ocho meses después.
Utilizarás tablas donde corresponde. Sólo donde corresponde
Según la ley del péndulo, en algún momento, cuando nos entendemos con los DIVs y dejamos de echar de menos a las tablas, es frecuente que pasemos por la etapa de negación de éstas.
No hay para qué. Las tablas tienen una función súper bien definida, y es la de presentar información tabular.
Si bien es posible reemplazar una tabla por una serie de DIVs artísticamente dispuestos, con flotaciones y cosas, no hay para qué. Las tablas tienen su nicho, y no hay para qué ser más papista que el papa.
Por supuesto, eso no quiere decir que la zonificación y diagramación general de un documento sea información tabular
No desearás los estilos de tu prójimo
Es súper saludable revisar código para ver cómo se solucionaron distintas cosas, y es lícito también inspirarnos en trabajos ajenos, pero de ahí a copiar/pegar/presentar como propio, la cosa no es tan lícita.
Todo lo que se postea en la web es probable, lo que no quiere decir que sea deseable.
Sólo utilizarás Explorer para probar compatibilidad
Este el el infaltable comentario de sectarismo gratuito, o casi.
Ya que millones de vacas no pueden estar equivocadas (lo que hace que el pasto sea rico, como parece mostrar el que la rúcula esté de moda), Explorer es el navegador más usado, aunque no se ajusta a estándar.
Alguien puede citar al papa Zacarías, pero el hecho es que hay un estándar (el W3C) y Explorer no se conforma a él, si bien se supone que Explorer 7 sí lo hace.
Hay que hacer una serie de malabares para que Explorer haga lo que se supone que haga, incluyendo una serie de hacks que implican crear estilos “sólo Explorer”.
Para eso son los estándares: para que no se apliquen.
Utilizarás unidades relativas dentro de lo posible
Probablemente este mandamiendo causará ronchas en la feligesía. En pro de la accesibilidad, todo debería estar definido en unidades relativas (ems o porcentaje) y no en unidades absolutas (píxeles). De esa forma, los usuarios que requieran ampliar los contenidos podrán hacerlo en forma armoniosa sin que el contenido definido en píxeles cause resultados impredecibles.
Es un cacho no usar píxeles, en mi humilde opinión, pero es posible.
No olvidarás la accesibilidad
Una de las gracias de los CSS es que dejan la puerta abierta a la accesibilidad, desde el hecho de poder adjuntar distintas hojas de estilos para distintos medios (impresoras Braille, handhelds, etc.) Sería una pena dejar de lado algo tan importante como es la accesibilidad, siendo que te la pasan en bandeja.
Validarás tu HTML y tu CSS
Y por último, validar.
- Dreamweaver valida.
- Otras herramientas validan.
- Existen herramientas de validación gratuitas en línea.
- La validación nos permite asegurarnos de que nuestro código se ajuste al formato que dice tener (tanto el (X)HTML como el CSS) y nos permite prevenir errores.