Skip to content

Es curioso cómo de olvidado y maltratado está el CSS

Posted on:4 de enero de 2021

CSS

Hace unos días comentaba en Twitter y en LinkedIn, que el artículo con más visitas que he tenido este año, ha sido en el que hice unas reseñas de Libros CSS. Hasta aquí todo bien, simplemente comparto ver que hay cierto interés por esas reseñas de libros que hablan de CSS 😊.

El detonante que me ha llevado a escribir este artículo ha sido un comentario que me hizo mi compañero de profesión Hèctor, donde me comenta con la frase que da título al artículo.

Es curioso cómo de olvidado y maltratado está el CSS

¿Por qué no gusta CSS?

Sinceramente no lo sé, a mi sí que me encanta, lo único que se me ocurre es que no lo conocen.

Como especie, tenemos el cerebro diseñado para rechazar lo desconocido. Como raza, tenemos la facilidad de criticar o despreciar lo desconocido.

Me siento incapaz de juzgar un lenguaje de programación, CSS no lo es… que os veo venir (pero ya hablaremos de eso cuando CSS Houdini esté mas avanzado), fueron creados y diseñados para resolver un problema concreto, en un momento dado. Algo a lo que mucha gente tiene manía, la cascada, tuvo su razón en el momento que nació CSS para dar estilos al contenido de la web. Y no sirve de nada criticarlo, si conoces cómo funciona y el motivo por el que se decidió implementar esta funcionalidad (no es un bug) al lenguaje, sabrás cómo aprovecharla a tu favor y como esquivarla en los momentos que sean necesarios.

Yo no puedo decir que “pon aquí tu lenguaje favorito” no sirve, está mal pensado o que no se parece a éste o aquel lenguaje al que estoy acostumbrado. No puedo criticar algo que no conozco.

¿Por qué se olvidan de CSS?

Tampoco lo sé. Hay mucha formación que obvia, o pasa de puntillas por los temas de CSS. Es curioso ver bootcamps que tiene un programa de formación web y en el temario el peso del contenido CSS es escaso o nulo.

Hay tanto hype con JavaScript, ojo que lo tiene bien merecido, que hace sombra a CSS. Lo cual es curioso porque CSS es parte de la web.

He visto en mucho código, propiedades CSS que contradicen la propiedad anterior o propiedades innecesarias.

Flexbox

Este es un código que he visto varias veces en Pull Requests.

<section class="wrapper">
  <div>...</div>
  <div>...</div>
  <div>...</div>
</section>
.wrapper {
  display: flex;
  flex-direction: column;
}

Con display: flex hacemos que los elementos <div> sean flexibles, pero como se quiere que se muestren uno bajo el otro, se ha añadido flex-direction: column. Pero atención, ese sería el comportamiento por defecto de los elementos <div>, no hace falta añadir flexbox en este caso.

Conociendo CSS, sabremos que no tenemos que añadir display: flex por defecto, y sabríamos que nos sería muy útil para poder controlar el espaciado y alineación entre los elementos, cambiar su comportamiento entre diferentes media queries o cambiar el orden de presentación, donde sí que tendría sentido añadirlo.

!important

El uso del !important escapa a nuestras posibilidades, más de 27 millones en repositorios públicos en GitHub.

!important tiene su uso, es necesario y no desaparecerá. Pero usarlo mal nos traerá problemas en el mantenimiento de ese código. Recuerda, si tienes que añadir un !important es que hay algo mal, en ocasiones es porque estás utilizando un framework o plugin que tiene un comportamiento que no quieres, lo cual pone sobre la mesa la pregunta ¿realmente necesitas ese plugin o framework si no cubre tus necesidades?, pero bueno, eso es otro debate.

CSS es parte de la Web

Querer desarrollar cualquier solución con tecnología web, implica conocer HTML, CSS, JavaScript y las APIs Web. Auto definirse como FrontEnd, pero no querer tocar CSS, en mi opinión, esa persona no es frontend.

#CSSisPartOfTheWeb

Divulgación y apoyo a CSS

No todo el mundo tiene que divulgar sobre CSS (yo seguiré haciéndolo), pero nadie tendría que despreciarlo. Al fin y al cabo, son las soluciones que otras personas han decidido como solución a un problema concreto, en un momento dado.