¿Hay demasiado CSS ahora? PlatoBlockchain Inteligencia de Datos. Búsqueda vertical. Ai.

¿Hay demasiado CSS ahora?

Como desarrolladores front-end, hemos deseado muchas cosas a lo largo de los años: formas de centrar las cosas en CSS, encapsular estilos, establecer la relación de aspecto de un elemento, obtener un control más detallado sobre nuestros colores, seleccionar un elemento en función de su propiedades de los niños, administrar capas de especificidad, permitir que los elementos respondan al ancho de sus padres... la lista sigue y sigue.

Y ahora que obtuvimos todo lo que deseábamos y más, algunos de nosotros nos preguntamos: ¿tenemos ahora demasiado ¿CSS?

los tiempos oscuros

Si usted, como yo, apareció en el desarrollo web durante la infancia de CSS, la idea de tener demasiado parece ridícula.

En el pasado, prácticamente toda la descripción del trabajo de un desarrollador front-end consistía en lidiar con las limitaciones de CSS. los truco clearfix para limpiar flotadores, el 100% truco de relleno para hacer divisiones cuadradas, por no mencionar la aplicación semialeatoria de propiedades no relacionadas para engañar a Internet Explorer para que cumpla sus órdenes.

En ese momento, el navegador era un enemigo tortuoso que debía ser derrotado a través de encantamientos arcanos y astutos. Hoy, la propiedad perfecta te está esperando y solo tienes que copiar y pegar en MDN.

La nueva era de CSS

Pero hoy las cosas son muy diferentes: no solo las cosas se mueven mucho más rápido, sino que los proveedores de navegadores realmente me importa sobre hacer felices a los desarrolladores! Lo sé, yo tampoco podía creerlo. Pero corro el anual Estado de CSS encuesta de desarrolladores (que es ábrelo ahora, por cierto, ¡ve y tómalo!) y sé con certeza que los equipos de desarrollo de navegadores usan los resultados de la encuesta (entre muchos otros puntos de datos) para informar su hoja de ruta.

Más allá de esto, Google también ayudó a financiar mi trabajo en la encuesta e incluso contrató lea verou tomar la iniciativa en la selección de las preguntas de la encuesta de este año.

No es solo Google. Se ha puesto de moda criticar a Safari y a Apple en general (a veces con razón), pero no se puede negar lo apasionado que le gusta a alguien Jen Simmons se trata de escuchar a los desarrolladores y mejorar la web.

Y no solo los proveedores de navegadores están mejorando CSS por su cuenta; incluso están colaborando a través de las líneas de batalla con iniciativas como Interoperabilidad 2023 para ayudar a reducir las inconsistencias e incompatibilidades entre navegadores.

¿Demasiado de una cosa buena?

El resultado de todo esto es que ahora nos enfrentamos a una vergüenza de las riquezas de CSS, y puede ser difícil ponerse al día. Cuadrícula CSS Comenzó a ser compatible con los principales navegadores hace casi cinco años, pero todavía reviso una referencia cada vez que lo uso. Y tan genial como subcuadrícula Parece que todavía tengo que probarlo.

Durante el proceso de selección qué características de CSS incluir o no en el estado de CSSLea y yo consideramos muchas características, pero también rechazamos algunas. Algunos ejemplos de la característica que no hice incluyen son:

  • El linear() función de facilitación, que le permite definir curvas de aceleración con más granularidad. 
  • El env() función, que le permite utilizar variables definidas por el navegador o el dispositivo. 
  • El scrollbar-width propiedad, que ayuda a controlar la apariencia de una barra de desplazamiento. 
  • El margin-trim propiedad, que le permite controlar cómo se comportan los márgenes de los niños de un contenedor. 

Todos estos son potencialmente muy útiles y habrían sido una gran noticia durante la sequía de CSS de los últimos años. Pero en el contexto actual, tienen que luchar por la atención con anuncios mucho más grandes, como el selector has() o el anidamiento de CSS.

No emocionado

Como Silvestar Bistrović escribe, "no está tan entusiasmado con todas estas nuevas características de CSS". Esto encontró eco en Twitter, con sara soueidan afirmando que lo que le importa es "la practicidad, no lo brillante que se ve una característica en este momento".

Esto puede parecer una actitud negativa, pero creo que es comprensible. ¡No se puede esperar que nadie se mantenga al día con tantas funciones nuevas!

Otra consecuencia no intencionada (¿o tal vez intencionada?) es que cuanto más complejo se vuelve el CSS, más sube el listón para cualquier empresa nueva que quiera desarrollar un motor de navegador, por no hablar de la carga de trabajo adicional cuando se trata de mantener y documentar todo. estas nuevas características. 

Exceso de CSS

También existe la preocupación muy válida de que CSS podría estar diversificándose en áreas que no es del todo adecuado para manejar. Esa es otra cosa que señaló Sara Soueidan al reaccionar a la nueva implementación experimental de CSS Toggles (aquí hay un ticket discutiéndolo):

Muchos han señalado muy razonablemente que este tipo de comportamiento se manejaría mejor con un nuevo elemento HTML en lugar de administrar el estado de alternancia únicamente a través de CSS, y que CSS puede no ser el mejor medio para garantizar que los problemas de accesibilidad se aborden adecuadamente. 

Cuando CSS se hace cargo de algo que anteriormente se manejaba a través de JavaScript, generalmente se considera algo bueno, ya que a menudo reduce la cantidad de código que debe cargar el navegador. Por lo tanto, soy cautelosamente optimista sobre CSS Toggles y confío en que el Grupo de trabajo de CSS abordará adecuadamente las inquietudes de la comunidad. Pero aún puede llegar un día en que comencemos a preocuparnos de que CSS se esté expandiendo más allá de sus fronteras e invadiendo las responsabilidades de HTML y JavaScript.

Nuevas expectativas

Y tal vez esto es lo que debe cambiar: tal vez deberíamos abandonar la expectativa de que los desarrolladores de CSS deben saber todos de CSS? 

Esta expectativa proviene de los días en que CSS era una ocurrencia tardía, esa pequeña y molesta sintaxis que tenía que aprender para hacer que su botón fuera azul y negrita tal como lo pedía el cliente. Pero creo que debemos aceptar que el CSS actual podría ser demasiado amplio para que lo domine una sola persona, especialmente además de otras funciones de front-end.

As michelle barker pone:

Y ahí es donde yo mismo aterrizo al final. He hecho las paces con el hecho de que probablemente nunca usaré, o ni siquiera conoceré, todas las características posibles de CSS. Y esto viene de alguien que realiza una encuesta sobre CSS!

Pero estas nuevas características seguramente serán útiles para alguien. Alguien escribirá publicaciones de blog sobre ellos, creará CodePens geniales con ellos, dará charlas sobre ellos. Esa persona será un desarrollador fresco, joven y enérgico que todavía tendrá todo su cabello. En otras palabras, no seré yo, y eso está bien. 

Y tal vez le preocupe que este nuevo desarrollador se sienta abrumado por todas las cosas que tiene que aprender a la vez. Pero tenga en cuenta todas las cosas que no se cumplirán tiene que aprender, precisamente porque ha sido reemplazado por estas nuevas alternativas. Sé que aceptaría ese trato en cualquier momento.

Pero piénselo: en los últimos dos años, no solo hemos visto un gran aumento en la cantidad de dispositivos que debemos atender, sino que también comenzamos a reconocer que todos consumimos la web de maneras ligeramente diferentes, ya sea debido a a discapacidades, contexto actual o simplemente preferencias personales. ¿No debería CSS adaptarse a esta nueva realidad?

Ahora, tengo que confesar que todo esto me ha hecho sentir un poco nostálgico... así que disculpe mientras despejo un par de flotadores, solo por los viejos tiempos.


Como mencioné, el año Encuesta sobre el estado de CSS ahora está abierto. Ya sea que piense que hay demasiado CSS o no, la encuesta es una excelente manera de que los desarrolladores de navegadores sepan cómo se siente, así que ve a llenarlo si tienes 10 minutos. 

Sello de tiempo:

Mas de Trucos CSS