¿Por qué es frustrante CSS?

Aquí hay un gran hilo de Kevin Powell que está circulando. Él cree que mucha gente ve CSS como un lenguaje frustrante y molesto:

Eso es tan poco intuitivo como que JS comienza a contar en 0, pero como lo aprendiste y lo aceptas, está bien.

El verdadero problema no es el CSS. Si tiene dificultades con él, o alguna vez lo considera poco intuitivo, probablemente se deba a que no comprende realmente cómo debe funcionar CSS.

– Kevin Powell (@KevinJPowell) 24 de febrero de 2020

¿Por qué la gente respeta lo suficiente JavaScript u otros lenguajes como para aprenderlos de adentro hacia afuera y, sin embargo, constantemente se sumergen en CSS? Bueno, todo esto me recuerda lo que Jeremy Keith escribió hace un tiempo cuando argumentó que CSS es simple, pero no fácil:

A diferencia de un lenguaje de programación que requiere conocimiento de bucles, variables y otros conceptos, CSS es bastante fácil de aprender. Quizás sea por eso que se ha ganado la reputación de ser sencillo. Es simple en el sentido de “no complejo”, pero eso no significa que sea fácil. Confundir “simple” con “fácil” sólo provocará dolor.

Creo que eso es lo que sucedió con algunos programadores que llegaron a CSS por primera vez. Han oído que es simple, por lo que suponen que es fácil. Pero luego, cuando intenta usarlo, no funciona. Debe ser culpa del idioma, porque saben que son inteligentes, y se supone que eso es fácil. Entonces culpan al idioma. Dicen que está roto. Y por eso intenta “arreglarlo” adaptándolo a una forma de pensar más programática.

Ha habido ocasiones en las que me sentó con ingenieros para hablar con ellos sobre un problema de diseño complicado y el CSS se considera inferior a ellos, como si el lenguaje fuera de alguna manera demasiado impredecible para justificar su aprendizaje y dominio. Quizás esto tenga algo que ver con el pasado, donde hemos pasado años luchando contra la forma en que los navegadores representan las cosas de manera diferente. Pero esto es mayoritariamente un problema resuelto. No recuerdo la última vez que luché contra navegadores como ese.

En cambio, creo que el mayor problema al que se enfrentan los ingenieros (y la razón por la que lo encuentran tan frustrante) es que CSS te obliga a enfrentar el carácter web de la web. Las cosas requieren alternativas. Debes tener en cuenta diferentes dispositivos y todas las diferentes formas de ver un sitio web: móvil, escritorio, sin mouse, sin teclado, etc. Claro, también debes lidiar con eso al escribir JavaScript, pero es más fácil ignorarlo. . No puedes ignorar que el diseño de tu sitio está completamente roto en un teléfono.

Nota al margen: tenemos una guía para centrar en CSS, no porque CSS sea malo y tonto, sino porque hay tantas variables hasta el punto que una simple pregunta como “¿Cómo centro el texto?” En realidad es mucho más complicado de lo que parece. Hay mucho contexto que se pasa por alto.

Esto me recuerda una de mis publicaciones de blog favoritos de todos los tiempos, donde Brandon Smith sostiene que CSS es increíble y que debemos respetar el lenguaje y aprender cómo funciona internamente:

CSS es difícil porque sus propiedades interactúan, a menudo de formas inesperadas. Porque cuando configuras uno de ellos, nunca estás configurando solo esa cosa. Esa cosa se combina, rebota y se contradice con una docena de otras cosas, incluidas cosas predeterminadas que nunca estableces tú mismo.

Una regla general para mitigar esto es nunca ser más explícita de lo necesario . Las páginas web responden de forma predeterminada. Escribir un buen CSS significa aprovechar ese hecho en lugar de anularlo. Utilice porcentajes o unidades de ventana gráfica en lugar de una consulta de medios si es posible. Úselo min-widthen lugar de widthdonde pueda. Piense en términos de reglas, en términos de lo que realmente quiere decir, en lugar de simplemente agregar propiedades hasta que todo se vea bien. Intente tener una idea de cómo el navegador resuelve el diseño y el tamaño, y realiza cambios y adiciones con criterio. Trabaje con CSS, en lugar de contra él.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion