Errores Javascript

CSS framework u olvidar lo aprendido

Icono de Desarrollo webDesde que hablé del tema, desde luego han cambiado no pocas cosas tanto en mi sistema CSS como en la plantilla base con la que me estoy partiendo los cuernos acerca de decidir, definitivamente, cómo[...]

  • 11
  • feb
  • 2009

Publicado por J.A.Cobo. Guardado en Desarrollo web, Diseño web.
hace 1 año y 5 meses 2 comentarios

Desde que hablé del tema, desde luego han cambiado no pocas cosas tanto en mi sistema CSS como en la plantilla base con la que me estoy partiendo los cuernos acerca de decidir, definitivamente, cómo hacerla – o sea, planificación: 0 -… pero eso es otro tema.

La cuestión es que me he dejado llevar y he olvidado la base de la semántica, de la lógica y de las enseñanzas de los gurús CSS, algo por otra parte no poco habitual cuando se habla de «clasitis», «divitis» o incluso «identiditis».

Esto, en parte, es el primer error en el desarrollo -o uso- de un framework CSS; que, como ya dije, no es que deba estar mal por sí mismo, pero sí suele ocurrir que su comodidad, y el intento de abarcar el mayor número de posibilidades y opciones -reglas CSS-, hace que nos dejemos llevar y perdamos la perspectiva.

El problema

Como decía, el problema surge cuando cogemos brío al especificar reglas de todo tipo -amplitud de opciones- y perdemos el foco:
Y el foco no es más que una de las principales reglas de semántica, de porqué HTML se adaptó a XML, del peso de un documento pero, sobre todo, de eso: de su sentido.

Ejemplo

Por que, sin darnos cuenta, empezamos a usar cosas como:

<em class="red">Atención</em>

cuando en realidad deberíamos usar

<em class="important">Atención</em>

Creo que no hace falta explicarlo, ¿no?

¿Qué diferencia podría haber entre estas tres reglas?:

<em font-color="red">Atención</em> <!-- Marcado obsoleto y no válido -->
<em style="color:red;">Atención</em> <!-- Marcado estándar pero de presentación -->
<em class="red">Atención</em> <!-- Marcado válido con CSS pero no semántico y de presentación -->

Ninguna.

La diferencia es un simple intento de validación -incluso engañarse a sí mismo- pero en la práctica y hablando de optimización, es lo mismo: En todos los casos es añadir estilo a la estructura, es aumentar el peso del documento, es añadir datos que no son necesarios, -por añadidura y por ejemplo en un lector de pantalla, como datos XML, de exportación o, en cualquier caso, en bruto- cuando en el caso de usar una clase definida como importante, el elemento adquiere relevancia y, sobre todo, sentido.

Y aún hay más ya en el tema de desarrollo, algo más que evidente también y tan antiguo como el diseño basado en tablas -para presentación me refiero-:
En este ejemplo, ¿qué pasa si un día decido cambiar mis alertas o avisos: class="red"?
Alguien diría: «pues nada, cambias las clases al color o estilo nuevo que decidas, es de imaginar que habrá una regla para azul, verde…»
Vale, al margen del primer caso y tener más bien poco que ver una clase llamada red con un color azul,… ¿cambiamos todas las clases que hemos codificado, recuerdo, en el marcado del documento???, ¿qué hemos ganado respecto del marcado basura?

Conclusión

Lo que quiero decir es que, usar CSS no significa ser semántico, accesible y estándar. Tu código puede validar pero eso no significa que sea correcto.

¿No puede haber reglas que definan estilos visuales?. Si hablamos desde CSS: por supuesto, están diseñadas para eso; el problema es usarlas o aplicarlas mal. No veo, tampoco, nada malo en tener reglas que definan colores: es un método de acceso a los mismos fácil, el problema es aplicarlos a la estructura como estilo incrustado y para eso…: no es necesario CSS: simplemente escribir marcado de presentación y no preocuparse por validar.
Si se prefiere hacer así, cada uno es libre de hacerlo, aunque yo evidentemente no lo comparta; y siempre sin olvidar la optimización y el aumento de peso del documento -datos-. Recordemos que siempre será más fácil y óptimo cachear archivos estáticos -en mayor o menor grado- y pequeños como por ejemplo CSS, que documentos completos y que, a parte de ser más pesados, seguro tienen posibilidad de cambiar en no pocas ocasiones.

Resumamos

¿No puede haber atributos que definan estilos visuales? Siempre en mi opinión: pues no, no debería haberlos en un documento bien formado y semántico, siempre que los mismos no lleven carga semántica, es decir, no si solo son de presentación; repito: para eso, precisamente, se creó CSS.

Paradojas y complicaciones

No obstante… existen algunas paradojas:
¿Quién no usa hoy en día una clase para flotar cajas o al contrario?: La cuestión es que estas reglas deberían definir el estilo de cajas -o el elemento que sea- de forma genérica y no estricta, al igual que el ejemplo de los colores.

¿Reglas estrictas o genéricas?

Por ejemplo deberíamos imaginar que un bloque flotado a la izquierda, es decir, el típico atributo de clase left, podría significar, representar una caja de contenidos, unas notas, una miniatura de imagen… y podríamos aplicar reglas en forma de:

1
2
.tocBox, 
.imgThumb { float:left; }

en lugar de

.left { float:left; }

Es decir, especificar reglas para flotar cualquier elemento a la izquierda o, personalizar, generalizar, elementos estándares que conocemos se flotarán a la izquierda: una caja de contenidos, una imagen de miniatura sobre el documento o sección. Ejemplo:
Imaginemos que quiero flotar otro cuadro de imagen a la derecha, por estética pura se debería usar una regla genérica para cualquier elemento class="right", pero algo nos dice que ese elemento debería poseer sentido, incluso si continuara siendo algo meramente estético. Veamos algo simple:

Miniaturas relevantes al contenido flotadas a la izquierda class="entrycontentImg"
Miniaturas relevantes al contenido flotadas a la derecha class="entrycontentImg2"

Las reglas CSS correctas no deben ser estrictas respecto al diseño sino a su sentido, para que el marcado conserve el mismo. Así, mañana puedo cambiar las ubicaciones de las miniaturas sin modificar el marcado, el cual conservará su significado: ambos cuadros seguirán siendo imágenes que representen el contenido (entrycontentImg), independientemente de donde los sitúe CSS, y mis reglas no serán ilógicas -mantenibilidad- por ejemplo con casos como imgLeft que la sitúe a la derecha y/o viceversa.

Elementos estándares frente a frameworks no semánticos

En cualquier caso, es en estos casos donde un framework pierde su sentido y se desvía del uso correcto. Es la denominada «clasitis». De ahí personalizar un framework para poder codificar elementos estándares en nuestros diseños.
Los estándares nos han enseñado que funcionan, que son útiles, los hay para todo diseño en la vida -o casi todo-. ¿No es ya, de hecho, un estándar la estructura: wrapper-container, header, menú, content, footer...? Con el auge de los blogs han nacido otros elementos que prácticamente ya son estándares: .entry, .post, .feedback, .comments y funciona, y todo tiene sentido ^^!
Igualmente podemos generar más: .entryImg, .entrycontentImg, .avatar, ..., además, la evolución del marcado web y estos estándares entronca con los microformatos. No se trata de globalización y pérdida de riqueza, no en este caso; se trata de optimización, utilidad y mantenimiento, pero más aún se trata de humanizar el lenguaje máquina, de darle sentido y que precisamente nos sea útil :)

Fin

Así deberíamos hacerlo y siempre aplicar estilo debería ser algo a trabajar en el CSS no editando la estructura.

En definitiva, no sé como me ha pasado todo esto pero yo mismo he caído en mis más agresivas críticas del marcado basura. Y lo cierto es que no hay excusa, sólo que: el lado oscuro es muy atractivo :mrgreen:
Es muy difícil resistirse a la facilidad al codificar con un class=”red|blue|black”, etc…

Acerca del autor

Avatar del autor J.A.Cobo, «Geek» apasionado por la tecnología, la historia y la aviación con especial interés en el Desarrollo Web basado en estándares, la aplicación semántica de la web y la accesibilidad en la misma. Hubo un tiempo en el que también escribía relatos, principal inspiración para iniciar un «blog».

2 comentarios para « CSS framework u olvidar lo aprendido»

  1. Emilio dice:

    Touché! como bien has dicho, nunca debemos de perder la perspectiva de la lógica pues nos sumiremos en un mundo de perfeccionamiento muy alejado de la realidad y de lo óptimo.

  2. J.A.Cobo dice:

    Jeje, síp… como decía, llega a ser paradójico porque cuando ves estilo incrustado no dejas de pensar que no deberías hacerlo así… por otra parte, por ejemplo, un clear:both, la famosa regla .clearfix son de tremenda utilidad y entras en la guerra de decisiones como bien comentas:

    Talibán CSS o usable…

    No voy a negar, que al menos para mí, que me considero bastante talibán XHTML-CSS, es toda una tribulación :mrgreen:

    No obstante, creo que hay un término medio que es, más o menos, de lo que hablo y aquí entra la medida en que se usan los frameworks CSS.

    Un saludo ;)

Reacciones (track/pingbacks)

Dejar un comentario.no seas tímido

Campos personales


¿Qué opinas?

Licencia y acuerdo

Logo Creative Commons Los datos introducidos en este formulario se tratarán, en matería de seguridad, de acuerdo a la normativa española sobre protección de datos ( LOPD ) pese a no estar sujetos a ella. Los contenidos pasarán a ser liberados para Cultura Digital.org bajo las licencias Creative Commons BY-SA y GFDL1.3 como una obra derivada de la que el autor mantendrá el copyright.
Asegúrate de entender estos términos antes de enviar tu comentario.

Artículo 2: Ámbito de aplicación.
[...]
Punto 2. El régimen de protección de los datos de carácter personal que se establece en la presente Ley Orgánica no será de aplicación:
a) A los ficheros mantenidos por personas físicas en el ejercicio de actividades exclusivamente personales o domésticas.
[...]

El autor del blog, Juan Antonio Cobo, se reserva el derecho a decidir sobre la publicación de los comentarios de acuerdo a la lógica común, las buenas maneras y la relevancia de los mismos con la entrada.

Twitter

Avatar en TwitterJuan Antonio Cobo
JuanAntonioCobo

  • «Webdev freelance» Mejor aquí: http://blog.culturadigital.org/acerca-de - 20
  • @lusagad Yo solo lo he visto d rafilón, oyes las voces y dices: "q coño es eso?" Luego ya.. te partes la caja lo serios q se ponen y todo xD (vía web).
    - hace 1 día y 18 horas
  • Casualmente a lo de TeleCinco, en Italia hay una buena liada con el tema gitano. Ainsss... kasco de tele dios. (vía web).
    - hace 2 días y 19 horas
  • mm... dios, qué mentira más gorda los debates esos de Tele5, no? Qué casualidad una gitana pija en el público, vms, lo + normal del mundo xD (vía web).
    - hace 2 días y 19 horas
  • @Frambueso Lo acabo de ver en las noticias... que grandes las nuevas tecnologías: nosotros en vivo vía Twitter. Creo q todo bien, no? (vía web).
    - hace 1 semana y 2 días
  • Weno,va siendo hora.. joder!.. pro xq mcae tan mal Barceló!?, tan repipi, pdante, sos gestos, ojjj, ajjjjj.. ggg Nas noxs #puntopelota #zzzz (vía TweetDeck).
    - hace 1 semana y 3 días
  • @Rino6966 Pulido quiere lo que muchos, entre los qm incluyo, kizá pecando dantimadridsta: un Madrid humilde como la 8ª Champions. (vía TweetDeck).
    - hace 1 semana y 3 días
  • @ateneanike Roncero es..., bueno, lo que es, es bastante inbécil y #puntopelota, Diosss... lo q pasa q hasta da pena y todo gg (vía TweetDeck).
    - hace 1 semana y 3 días
  • ...ganas de liga... sinceramente, después de este verano... solo quiero... que llegue ya la Eurocopa! #ESP #puntopelota (vía TweetDeck).
    - hace 1 semana y 3 días
  • Ntre Xixarito ( @fcevallos ) y los #parabólicos ( @francescobu @plazacasals ) se están comiendo la sección de @pacorabadan -.- #puntopelota (vía TweetDeck).
    - hace 1 semana y 3 días
  • @ateneanike No sé... me da que es así ^^! Según él, los de las críticas somos lo peor de Twitter; imagino q le gustaría solo recibir elogios (vía TweetDeck).
    - hace 1 semana y 3 días
  • xD Ostais jugando 1 unfollow fijo RT @sergimaister: @ateneanike Lo dla cara d Borbón d @Pedrerol es d lo mejor ke leído jamás en Twitter xDD (vía TweetDeck).
    - hace 1 semana y 3 días
  • Para 1 año... deberían djar a Raúl retirarse nel Madrid, no sé si el problema son las condiciones o el orgullo, lícito, de Raúl #puntopelota (vía TweetDeck).
    - hace 1 semana y 3 días
  • @Pelotero100 Y a Chuck Norris ggg (vía TweetDeck).
    - hace 1 semana y 3 días
  • Hoy no hay 2online, que estamos ya de intermission, con las ganas que tenía :( #BattlegroundEurope #2online (vía web).
    - hace 1 semana y 3 días
  • @CarmeBarcelo tú crees q burlarte d di Maria es tnr algo didea d fútbol???, t lo dice @sirolopez Petón y medio Twitter, o ntero #puntopelota (vía web).
    - hace 1 semana y 3 días
  • Este perro viejo de PC (A8V-X + AMD64) ha muerto... estaremos por aquí mientras aguante el portátil ;) (vía web).
    - hace 1 semana y 6 días
  • @lalibreta +1000000 #246 zellfhirot: "Marca, cada día decís y haceis mayores tonterías." :) (vía web).
    - hace 2 semanas
  • [...]pero no es lo q nos enseña nuestra gramática dsd luego ;) ... bueno, más bien semántica :S (vía web).
    - hace 2 semanas
  • @elias_israel Para el lenguaje técnico, imagino q viene cojonudo... pero no es lo q nos enseña nuestra gramática dsd luego ;) (vía web).
    - hace 2 semanas
  • @elias_israel Hay artículos en la Wikipedia inglesa con más siglas que oraciones xD (vía web).
    - hace 2 semanas

Sígueme en Twitter Sígueme