CSS También Puede Hacer Eso

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

CSS ha evolucionado y crecido enormemente desde que se introdujo por primera vez en 1996. Hubo un tiempo en aquel entonces en el que CSS ni siquiera estaba destinado a hacer diseños, pero ese tiempo ya pasó. Hoy en día, los diseños web son prácticamente sinónimo de CSS. Además de eso, CSS ahora se puede utilizar para construir cosas que antes solo eran posibles con JavaScript. Esta charla mostrará algunas de esas características y explicará cómo construirlas tú mismo.

This talk has been presented at JSNation Live 2021, check out the latest edition of this JavaScript Conference.

FAQ

JS Nation es la conferencia de JavaScript más grande en la nube, donde se discuten y exploran las últimas tendencias y tecnologías en el mundo de JavaScript y tecnologías relacionadas.

Hui Jing habla sobre cómo ciertas funcionalidades que antes requerían JavaScript ahora pueden ser implementadas simplemente usando CSS, específicamente en áreas como tipografía responsiva y diseño web.

Se discutieron técnicas como el uso de consultas de medios y CALC combinado con unidades de vista para ajustar los tamaños de fuente de manera flexible y responsiva según el tamaño de la ventana del navegador.

La función 'clamp' en CSS permite seleccionar un valor dentro de un rango entre un valor mínimo y máximo, siendo útil para ajustar tamaños de fuente que crecen y se reducen con el tamaño de la ventana, pero manteniendo límites para evitar que sean demasiado pequeños o grandes.

El 'scroll snap' es una propiedad en CSS que permite un desplazamiento más controlado dentro de un contenedor, haciendo que el navegador se ajuste estrictamente a un punto de ajuste definido, facilitando una mejor experiencia de usuario durante el desplazamiento.

La propiedad 'position sticky' en CSS permite que un elemento se comporte como relativo hasta que alcanza un cierto punto de desplazamiento en la ventana, momento en el que se comporta como fijo, 'pegándose' en un lugar específico.

El diseño de mampostería en CSS permite una disposición de elementos en forma de rejilla no alineada, similar a un muro de mampostería. Actualmente, se está trabajando para implementarlo de manera nativa en CSS mediante el borrador del editor de Grid Level 3, aunque solo está disponible en Firefox detrás de una bandera especial.

Chen Hui Jing
Chen Hui Jing
22 min
11 Jun, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla trata sobre técnicas de CSS que pueden simplificar el desarrollo web y eliminar la necesidad de JavaScript. Cubre temas como tipografía receptiva, tamaño de fuente flexible, funciones matemáticas de CSS, desplazamiento de desplazamiento, elementos pegajosos y diseño de mampostería de CSS. El orador enfatiza la importancia de comprender cómo funcionan los elementos pegajosos y destaca los posibles errores que pueden ocurrir. El diseño de mampostería de CSS se discute como una solución nativa para crear cuadrículas de mampostería en el navegador. En general, CSS proporciona soluciones flexibles para el estilo web y es una herramienta emocionante para los desarrolladores.
Available in English: CSS Can Do That Too

1. Introducción a CSS y Tipografía Responsiva

Short description:

Hola a todos. Esta es la primera vez que participo en JS Nation y espero que todos hayan tenido un gran tiempo hasta ahora. JS Nation es la conferencia de JavaScript más grande en la nube, ¡así que naturalmente hablaré sobre CSS! Específicamente, cosas para las que solíamos necesitar JavaScript, pero que ahora se pueden simplificar usando solo CSS. Mi nombre es Hui Jing. Soy desarrollador front-end en Shopify. Esta será una charla bastante corta de 20 minutos, así que piensen en esto como algo más, oh, eso es genial, hoy aprendí nueva información. Comencemos con la tipografía responsiva. La web es divertida porque no puedes controlar el entorno en el que tu audiencia ve tus creaciones. Para el contenido textual en la web, la legibilidad y la facilidad de lectura son preocupaciones clave. La tipografía web siempre ha sido un enfoque, y a medida que se disponen de nuevas propiedades de CSS, las técnicas se han ido refinando continuamente. La primera opción son las consultas de medios, que ofrecen un control detallado sobre el tamaño del texto. La segunda opción es CALC.

Esta es la primera vez que participo en JS Nation y espero que todos hayan tenido un gran tiempo hasta ahora. Creo que es el tercer día, así que ya ha habido muchas charlas increíbles. Ahora, aguanten un poco más. Casi terminamos. Ahora, JS Nation es la conferencia de JavaScript más grande en la nube, así que naturalmente voy a hablar sobre CSS. Específicamente, cosas para las que solíamos necesitar JavaScript, pero que ahora se pueden simplificar usando solo CSS. Así que una breve introducción. Mi nombre es Hui Jing. Soy bastante simple, tanto que estos emojis aquí pintan una imagen bastante completa de quién soy como ser humano. Soy de origen chino, y si no estás familiarizado con los nombres chinos, nuestros apellidos van primero y el nombre va después, así que Hui Jing soy yo. Actualmente soy desarrollador front-end en Shopify. Trabajo diario, importante. Hay que pagar las cuentas. Así que esta será una charla bastante corta de 20 minutos, así que no espero que las personas comprendan instantáneamente todo lo que estoy tratando de cubrir aquí. Piensen en esto como algo más, oh, eso es genial, hoy aprendí nueva información. Y si alguna vez se encuentran con un caso de uso donde estas soluciones funcionen para ustedes, entonces pueden tomarse su tiempo para comprenderlas a un nivel más profundo en su propio tiempo. Así que comencemos con la tipografía responsiva. Ahora, cuando digo esto, algunos de ustedes pueden pensar que tengo una mentalidad extraña, pero para mí, la web es divertida porque no puedes controlar el entorno en el que tu audiencia ve tus creaciones. Es como si construyeras algo, pero no estás seguro de cómo otras personas lo verán. Eso es lo que lo hace emocionante. Pero para el contenido textual en la web, todavía hay una preocupación clave, independientemente de qué tipo de diseño o lo que sea que estés haciendo, y es la legibilidad y facilidad de lectura de tu contenido textual. La tipografía web siempre ha sido un enfoque para muchas personas. Y se han desarrollado una serie de técnicas a lo largo de los años, y a medida que se disponen de nuevas propiedades de CSS, muchas de estas técnicas se han ido refinando continuamente. Así que hagámoslo en el navegador, es hora de la demostración. La primera opción que tenemos son las consultas de medios, y aunque parece bastante básico, también puedes verlo como la opción más flexible, incluso hoy en día, porque tienes un control muy detallado sobre el tamaño en el que deseas que tu texto cambie en cualquier punto de ruptura de vista que especifiques. Entonces, en este ejemplo, he puesto arbitrariamente 42 y 54 como los puntos de ruptura, pero realmente es muy personalizable. Así que hagamos esto con DevTools. A medida que cambia el punto de ruptura de la vista, puedes ver cómo tu texto cambia junto con él, y solo con una serie muy básica de consultas de medios, puedes ser muy detallado. Puedo entender cómo las personas sienten que esto puede volverse un poco tedioso si hay muchos puntos de ruptura de vista diferentes de los que quieres ocuparte. Entonces, la segunda opción que estoy mostrando aquí es CALC.

2. CSS Locks: Tamaño de Fuente Flexible

Short description:

Una combinación de CALC y unidades de vista. Esta técnica permite que los tamaños de fuente crezcan y se reduzcan con el ancho de la ventana, proporcionando un escalado suave entre los tamaños mínimo y máximo definidos. Se conoce como CSS locks.

Una combinación de CALC y unidades de vista. Esta técnica fue creada por Mike Rithmuller, creo, en 2015. Tiene un par de nombres, creo. Algunas personas lo llaman bloqueos de CSS, es posible que lo hayas visto cubierto en otros artículos. Básicamente, esta técnica permite que los tamaños de fuente crezcan y se reduzcan con el ancho de la ventana. Estas son las unidades de vista aquí. Y si te muestro, puedes ver que es como un crecimiento y reducción gradual. Pero luego, en este punto, deja de reducirse, en algún lugar a lo largo de este punto, deja de crecer. Por eso, nuevamente, es una combinación de consultas de medios CALC y unidades de vista, porque hay un límite en los tamaños máximo y mínimo. Pero cualquier cosa entre eso, el tamaño de fuente se ajustará suavemente. Supongo que por eso lo llaman bloqueos de CSS, porque estás bloqueando el tamaño mínimo y máximo.

3. Funciones Matemáticas CSS y Desplazamiento con Scroll

Short description:

La función clamp nos permite seleccionar un valor dentro de un rango entre un valor mínimo y máximo definido. Es útil si el valor preferido depende de algo que no controlas directamente, como las unidades de vista. Sin embargo, el uso de unidades de vista o limitar los tamaños de texto con funciones matemáticas puede hacer que los usuarios no puedan escalar el texto al 200% de su tamaño original, lo cual es un fallo de WCAG. El soporte del navegador para las funciones matemáticas es bueno, con aproximadamente un 91% de soporte general.

Para una explicación detallada de esta fórmula exacta, eventualmente... si lo miras, te das cuenta de que puedes hacer el cálculo de 48 menos 24 matemáticamente. Pero esta fórmula se corresponde con los tamaños de fuente mínimo y máximo de tu vista. Hay una explicación muy detallada, pero no voy a entrar en ella aquí porque no hay suficiente tiempo. Te sugiero que leas el artículo de Mike, al que he enlazado al final de la presentación.

Recientemente, hemos tenido una serie de funciones matemáticas que ya son compatibles con los principales navegadores. Entre ellas, tenemos la función clamp, que nos permite seleccionar un valor dentro de un rango entre un valor mínimo y máximo. Esto suena familiar, ¿verdad? Es casi lo que describí para la opción de bloqueos de CSS de Mike. Así es como se ve la función. Toma tres parámetros. El primero es el valor mínimo. Y el último es el valor máximo. Lo que tienes en medio es lo que llamamos el valor preferido. Esta función es útil si el valor preferido depende de algo que no controlas directamente. Por ejemplo, las unidades de vista. Si quieres que tu fuente crezca y se encoja, pero sin volverse demasiado pequeña o demasiado grande, eso es exactamente lo que hace la función clamp. Es similar a la opción dos, aunque con una sintaxis mucho más simplificada.

Una cosa a tener en cuenta al usar unidades de vista o limitar los tamaños de texto con funciones matemáticas es que puede, no al 100% pero puede, hacer que los usuarios no puedan escalar el texto al 200% de su tamaño original, lo cual es un fallo de WCAG. Por lo tanto, es esencial probarlo con Zoom. Cuando digo Zoom, me refiero a esto. Zoom. Solo para asegurarte de que no estás fallando en ninguna prueba de accesibilidad. En cuanto al soporte del navegador para las funciones matemáticas, parece muy bueno. Estadísticamente, es aproximadamente un 91% de soporte general. Así que pruébalo si tienes este caso de uso en particular. Bien, sigamos adelante. Hablemos sobre el desplazamiento con scroll.

4. CSS Scroll Snapping and Sticky Elements

Short description:

El CSS para el desplazamiento con scroll ha pasado por modificaciones, con las propiedades principales siendo scroll snap type para el contenedor y scroll snap align para el elemento hijo. Scroll snap type se puede establecer como obligatorio o de proximidad, determinando cuán estrictamente el navegador se ajusta a un punto. El soporte para el desplazamiento con scroll es casi del 94%, incluso en IE con la sintaxis antigua. Los elementos pegajosos se lograban anteriormente con JavaScript, pero ahora position sticky es ampliamente compatible, eliminando la necesidad de cálculos complejos.

El CSS para el desplazamiento con scroll ha estado presente durante un tiempo. Pero la especificación ha pasado por varias modificaciones y las propiedades han cambiado un poco desde la primera iteración. Hoy en día, las propiedades principales son scroll snap type para el contenedor y scroll snap align para el elemento hijo.

Veamos esto nuevamente en una demostración en vivo. Para scroll snap type, que se aplica al contenedor, puedes establecer un valor obligatorio o de proximidad. Esto determina cuán estrictamente el navegador se ajustará a un punto de ajuste. Aquí lo he ajustado como obligatorio. El navegador siempre se ajustará a un punto de ajuste, lo cual significa que solo hago clic una vez y se desplaza al siguiente elemento. También funciona con el teclado. Es posible que mi teclado sea un poco más ruidoso, por lo que es posible que puedas escucharlo mejor. También puedes hacer el desplazamiento con scroll en el eje x o en el eje y. Si quieres hacerlo en el eje y, solo modificaré esto un poco. Y listo, también puedes hacerlo verticalmente. Pero si cambio el valor a proximidad, verás que el ajuste es mucho más suelto. Si no puedes escuchar, simplemente toco, toco, toco, toco, toco, ajuste. Toco, toco, toco, toco, ajuste. Toco, toco, toco, ajuste. Creo que depende del navegador el punto exacto donde ocurre el ajuste. Pero parece que ocurre cuando dejamos de desplazarnos a unos cientos de píxeles del punto de ajuste. Así que tienes esta opción más flexible para el desplazamiento con scroll.

Pero si este es el tipo de interacción que deseas diseñar, ya no es necesario utilizar una biblioteca de JavaScript, ya que sé que hay varias bibliotecas de desplazamiento con scroll disponibles. En cuanto al soporte, es incluso mejor que las funciones matemáticas, con casi un 94%. Incluso IE tiene cierto soporte, aunque con la sintaxis antigua. Tal vez varíe según el caso. Pero si necesitas algo como esto, en lugar de recurrir a una solución basada en JavaScript, tal vez le des una oportunidad a esta solución nativa de CSS.

A continuación, tenemos los elementos pegajosos. Este es un patrón que encuentro muy a menudo en estos días. Y aún recuerdo los días antes de que position sticky fuera ampliamente compatible. Necesitábamos usar JavaScript porque necesitábamos calcular la posición del elemento, averiguar dónde debía estar y luego fijarlo allí. Pero luego surgieron todo tipo de problemas porque, ya sabes, las cosas se superponían.

5. Position Sticky and Offset Values

Short description:

Position sticky es una combinación entre cajas posicionadas de forma relativa y cajas posicionadas de forma fija. Para que funcione, se debe definir un valor de desplazamiento, como arriba, abajo, izquierda o derecha. Sin un valor de desplazamiento, el elemento pegajoso no se mantendrá. Al establecer el valor de desplazamiento, el elemento se mantendrá pegado hasta que alcance el borde opuesto de su bloque contenedor. Sin embargo, pueden haber errores, como el posicionamiento izquierdo y derecho que no funciona como se espera.

Todo esto era muy costoso y agotador, para ser honesto. Hoy en día, tenemos un soporte muy, muy bueno. Si simplemente ignoráramos esa columna de IE, el soporte para position sticky, ya sabes, está en todas partes. El principal problema con position sticky que veo hoy en día cuando la gente intenta usarlo es como por qué no funciona. ¿Por qué no se mantiene pegado? Y descubrí que la mayoría de las veces, se debe a algunas lagunas en la comprensión de cómo funciona precision sticky. Así que déjame tratar de explicarlo.

Una caja con posición pegajosa es como una combinación entre una caja con posición relativa y una caja con posición fija. Entonces, una caja con posición relativa fluye, ya sabes, puedes desplazarte, desplazarte, desplazarte, va junto. Una caja con posición fija simplemente se queda allí como un tic. Para que position sticky funcione, no es suficiente con simplemente aplicarle position sticky y listo, no, no, no. Debes tener un valor de desplazamiento, un valor de desplazamiento que puede ser arriba, abajo, izquierda o derecha, porque este elemento pegajoso se tratará como una caja con posición relativa hasta que cruce un umbral para el contenedor dentro del cual se está desplazando. Así que debe haber este punto donde se pegue. Si no defines este valor de desplazamiento, simplemente no se pegará, ¿sabes? Entonces, a medida que me desplazo, ahora lo he configurado en arriba 1m, solo para que sea obvio, como podría cambiarlo a cero para las personas que están como, argh, hay una brecha. Así que cámbialo a cero para que se pegue correctamente. Se quedará pegado en ese punto de umbral hasta que alcance el borde opuesto de su bloque contenedor. También podemos cambiar esto a abajo, y luego se pegará en la parte inferior, desplázate, desplázate, desplázate, se pega. También funciona en izquierda y derecha. Y no lo hagamos flexible. Cambiemos esto a izquierda, derecha. Oh, hey, no está funcionando realmente. Interesante. Bueno, acabo de mostrarte un error muy común, ¿por qué no funcionó para izquierda y derecha? Es más fácil para mí mostrarlo usando el ejemplo vertical debido al tamaño. Así que hagamos esto. Altura, y hagámoslo como 800. Y luego, para que puedas ver la altura, démosle un borde. Tal vez un borde de 2. Ok, así que hay este borde negro, ¿verdad? Y lo hice 800 porque, como, este contenedor es el padre de mis cajas aquí.

6. Understanding Sticky Elements

Short description:

Si tu elemento pegajoso ya ha alcanzado el borde del bloque contenedor, es posible que no parezca pegajoso en absoluto. Es solo que el bloque contenedor se está desplazando. Esto es una de las cosas complicadas que creo que las personas encuentran cuando usan sticky por primera vez. Mi sugerencia es que te tomes el tiempo para comprender realmente cómo funciona.

Y claramente tengo más contenido que 800. Ahora, si quiero hacerlo en la parte superior... No parece que se esté pegando en absoluto, ¿verdad? Intentemos con 1000. La razón por la que no se pega, no es que no se pegue, en sí. Veamos si puedo explicarlo correctamente. Si tu elemento pegajoso ya ha alcanzado el borde del bloque contenedor, es posible que no parezca pegajoso en absoluto. Es solo que el bloque contenedor se está desplazando. Así que voy a cambiar esto de nuevo a 800 donde parece que no hay pegado involucrado. Es como si no hubiera nada a lo que realmente se pueda pegar porque antes de que pueda alcanzar el borde, el bloque contenedor ya se ha ido. Así que se vuelve más obvio cuando el contenedor es más grande que, oh sí, hay algo de pegado sucediendo. Entonces, esto es una de las cosas complicadas que creo que las personas encuentran cuando usan sticky por primera vez. Mi sugerencia es que te tomes el tiempo para comprender realmente y descubrir cómo funciona. Sería genial si pudieras probar estos valores por tu cuenta en las herramientas de desarrollo, tal vez. También escribí sobre el posicionamiento en mi blog antes y he enlazado varios artículos de diferentes autores que explican el pegado a su manera. Esto se debe a que creo que todos entienden esto y lo comprenden de manera ligeramente diferente. Entonces, si lo que dije hoy no tiene sentido para ti, prueba una explicación diferente hasta que encuentres la que se pegue. Ese es solo mi consejo.

7. CSS Masonry Layout

Short description:

Lo último de lo que quiero hablar es el diseño de mampostería. Originalmente fue un diseño de JavaScript creado por David DiSandro en 2009. Dada su popularidad, este método de diseño se discutió bastante en las reuniones del grupo de trabajo de DCS. Tenemos un borrador del editor de Grid Level 3 que especifica cómo se puede hacer la mampostería de forma nativa en el navegador solo con CSS. Antes de la mampostería en CSS, podemos lograr algo similar con el diseño de varias columnas. Sin embargo, el diseño de varias columnas tiene limitaciones y una implementación inconsistente en diferentes navegadores. La mampostería en CSS te permite hacerlo en las direcciones del eje x y del eje y, aprovechando las capacidades de la cuadrícula del navegador. El valor de la mampostería se aplica a las propiedades gridTemplateRows o gridTemplateColumns. Con la mampostería en CSS, puedes lograr una mejor expansión y flujo entre columnas.

De acuerdo, de acuerdo, se nos acaba el tiempo. Lo último de lo que quiero hablar es el diseño de mampostería. Originalmente fue un diseño de JavaScript creado por David DiSandro en 2009. En ese entonces, era muy popular, Tumblr lo utiliza, Pinterest lo utiliza, algunas personas lo llaman el diseño de Pinterest, así que buen trabajo, Pinterest, supongo. Pero dado su popularidad entre los diseñadores y desarrolladores web, este método de diseño se discutió bastante en las reuniones del grupo de trabajo de DCS. Por eso tenemos un borrador del editor de Grid Level 3 que especifica cómo se puede hacer la mampostería de forma nativa en el navegador solo con CSS.

Es hora de la demostración. Pero antes de la mampostería en CSS, porque en realidad no es muy compatible en este momento, veamos, sí, solo está implementado en Firefox detrás de una bandera, así que debes activar esa bandera para poder verlo o incluso probar mi demostración en este momento. Así que digamos que no tienes la mampostería en CSS, podemos lograr algo similar con el diseño de varias columnas, solo que el diseño de varias columnas tiene algunas limitaciones. Su implementación también es un poco inconsistente en diferentes navegadores en este momento, de hecho.

Diría que el diseño de varias columnas es más adecuado para contenido en línea, como líneas de texto, en lugar de cajas discretas como las que estoy usando aquí. Diría que hay inconsistencias porque mi salto de línea aquí no está funcionando, pero si abro esto en Chrome. Olvídalo. Así que cuando lo usamos, el diseño de varias columnas fluye en la dirección de bloque y luego las columnas se vuelven a organizar. Entonces tu contenido realmente fluye de arriba a abajo y luego de izquierda a derecha. Así que si el orden es importante para ti, he numerado estas cajas para que puedas verlo. Tal vez las primeras cosas en tu cuadrícula sean importantes, pero no quieres que estén en la parte inferior. No puedes controlar esto realmente con el diseño de varias columnas. Y qué más, podrías, si quieres abarcar tus elementos en varias columnas, puedes hacerlo con el diseño de varias columnas, pero como dije, la implementación del diseño de varias columnas no es muy completa en los navegadores. Así que ahora mismo todo lo que tienes es algo así. El salto de línea se ve extraño, un poco defectuoso, así que digamos que el diseño de varias columnas es solo un tercio del camino para la mampostería, ¿verdad? Así que con la mampostería en CSS, puedes hacerlo en ambas direcciones, en el eje x y en el eje y, porque la mampostería en CSS se basa en las capacidades de cuadrícula del navegador, y su sintaxis es bastante similar a cómo usaríamos SubGrid, que es parte de Grid Level 2. El valor de la mampostería se aplica a la propiedad gridTemplateRows o gridTemplateColumns, dependiendo de la dirección que desees seguir. Para esta dirección horizontal aquí, mis alturas de fila están definidas con filas de plantilla aquí. Puse esta repetición porque soy perezoso. Y luego puedes dejar las columnas libres para ser mamposteadas. Básicamente, las columnas no están alineadas como en una cuadrícula normal, sino que están mamposteadas, como sea que se diga. Entonces, definitivamente puedes abarcar mucho mejor. Como esto es horizontal, estoy usando gridRow para esto. Abarcar dos, abarcar tres se ve bien. Las cosas fluyen juntas.

8. Diseño de Mampostería CSS y Flexibilidad

Short description:

Si deseas utilizar el diseño de mampostería, CSS Masonry tiene propiedades de alineación que funcionan de manera similar a otras propiedades de alineación de cajas. Puedes utilizar la propiedad de alineación de pistas para empujar los elementos hacia abajo, hacia arriba o al centro. El cambio de dirección en el diseño de mampostería requiere el uso de la propiedad de columna para abarcar. La implementación de CSS Masonry todavía está en sus primeras etapas y se esperan errores. Actualmente está disponible detrás de una bandera en Firefox. CSS proporciona soluciones flexibles para una variedad de situaciones, lo que lo convierte en una herramienta emocionante para el estilo web.

Si deseas hacer la dirección opuesta, verás que las columnas y las filas están invertidas, por lo que ahora mis filas son las que están siendo mamposteadas. Una de las grandes cosas sobre grid y flexbox son las propiedades de alineación. Naturalmente, CSS Masonry también tiene propiedades de alineación relacionadas con la mampostería y utilizan el mismo valor que las otras propiedades de alineación de cajas, así que no hay nada especialmente nuevo que descubrir.

Entonces, para este diseño de mampostería vertical que tengo aquí, hagamos algo así. Digamos que mi contenedor es realmente, realmente largo. Vamos a utilizar 150 unidades de altura de vista. Así que, ya sabes, un contenedor largo. Puedes utilizar la propiedad de alineación de pistas. Tenemos alinear pistas y justificar pistas. Nuevamente, dependiendo de la dirección que desees seguir, alinear pistas es para la dirección de bloque. Puedo empujarlos hacia abajo, hacia arriba, empujarlos al centro. Estas propiedades de alineación también funcionan si deseas utilizar el diseño de mampostería. Y por supuesto, también puedes hacer lo de abarcar, excepto que esta vez utilizarías la columna porque la dirección cambió, es grid plus plus, ¿verdad?

Actualmente, el grupo de trabajo está buscando comentarios sobre la implementación, todavía está en sus primeras etapas. Estoy seguro de que también hay errores en esta implementación de Firefox, así que hay muchos aspectos a considerar antes de que esté listo para producción. Si estás utilizando Firefox, esta función está detrás de una bandera para que puedas probarla por ti mismo. Regresemos a mis diapositivas, esto es el final, hombre. Como amante autoproclamado de CSS, debo decir que lo que me atrae de CSS es que no hay una única forma correcta de hacer las cosas. Es lo suficientemente flexible como para adaptarse a una variedad de situaciones. No puedes modificar el marcado, no te preocupes. Probablemente una combinación de propiedades de CSS puede solucionar el problema. Así que hay realmente muchos desarrollos emocionantes en CSS, lo que nos brinda más herramientas para estilizar la web. Así que espero que la próxima vez que se presente alguno de estos casos de uso para ti, en lugar de optar por una solución basada en JavaScript, pruebes la solución de CSS. Estos son los recursos. Compartiré estas diapositivas con todos. Hay un enlace en el pie de página. Gracias. Muchas gracias por escuchar la charla de CSS en la conferencia de JavaScript más grande en la nube.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Debugging JavaScript is a crucial skill that is often overlooked in the industry. It is important to understand the problem, reproduce the issue, and identify the root cause. Having a variety of debugging tools and techniques, such as console methods and graphical debuggers, is beneficial. Replay is a time-traveling debugger for JavaScript that allows users to record and inspect bugs. It works with Redux, plain React, and even minified code with the help of source maps.
Haciendo JavaScript en WebAssembly Rápido
JSNation Live 2021JSNation Live 2021
29 min
Haciendo JavaScript en WebAssembly Rápido
Top Content
WebAssembly enables optimizing JavaScript performance for different environments by deploying the JavaScript engine as a portable WebAssembly module. By making JavaScript on WebAssembly fast, instances can be created for each request, reducing latency and security risks. Initialization and runtime phases can be improved with tools like Wiser and snapshotting, resulting in faster startup times. Optimizing JavaScript performance in WebAssembly can be achieved through techniques like ahead-of-time compilation and inline caching. WebAssembly usage is growing outside the web, offering benefits like isolation and portability. Build sizes and snapshotting in WebAssembly depend on the application, and more information can be found on the Mozilla Hacks website and Bike Reliance site.
¿Webpack en 5 años?
JSNation 2022JSNation 2022
26 min
¿Webpack en 5 años?
Top Content
In the last 10 years, Webpack has shaped the way we develop web applications by introducing code splitting, co-locating style sheets and assets with JavaScript modules, and enabling bundling for server-side processing. Webpack's flexibility and large plugin system have also contributed to innovation in the ecosystem. The initial configuration for Webpack can be overwhelming, but it is necessary due to the complexity of modern web applications. In larger scale applications, there are performance problems in Webpack due to issues with garbage collection, leveraging multiple CPUs, and architectural limitations. Fixing problems in Webpack has trade-offs, but a rewrite could optimize architecture and fix performance issues.
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Node Congress 2022Node Congress 2022
34 min
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Top Content
There is a need for a standard library of APIs for JavaScript runtimes, as there are currently multiple ways to perform fundamental tasks like base64 encoding. JavaScript runtimes have historically lacked a standard library, causing friction and difficulty for developers. The idea of a small core has both benefits and drawbacks, with some runtimes abusing it to limit innovation. There is a misalignment between Node and web browsers in terms of functionality and API standards. The proposal is to involve browser developers in conversations about API standardization and to create a common standard library for JavaScript runtimes.

Workshops on related topic

Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
React Day Berlin 2022React Day Berlin 2022
86 min
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
Top Content
Workshop
Hussien Khayoon
Kahvi Patel
2 authors
Usar una biblioteca puede parecer fácil a primera vista, pero ¿cómo eliges la biblioteca correcta? ¿Cómo actualizas una existente? ¿Y cómo te abres camino a través de la documentación para encontrar lo que quieres?
En esta masterclass, discutiremos todos estos puntos finos mientras pasamos por un ejemplo general de construcción de un editor de código usando CodeMirror en React. Todo mientras compartimos algunas de las sutilezas que nuestro equipo aprendió sobre el uso de esta biblioteca y algunos problemas que encontramos.
Testing Web Applications Using Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Testing Web Applications Using Cypress
Top Content
Workshop
Gleb Bahmutov
Gleb Bahmutov
Esta masterclass te enseñará los conceptos básicos para escribir pruebas end-to-end útiles utilizando Cypress Test Runner.
Cubriremos la escritura de pruebas, cubriendo cada característica de la aplicación, estructurando pruebas, interceptando solicitudes de red y configurando los datos del backend.
Cualquiera que conozca el lenguaje de programación JavaScript y tenga NPM instalado podrá seguir adelante.
Desatando los Componentes del Servidor React: Una Inmersión Profunda en el Desarrollo Web de la Próxima Generación
React Day Berlin 2023React Day Berlin 2023
149 min
Desatando los Componentes del Servidor React: Una Inmersión Profunda en el Desarrollo Web de la Próxima Generación
Workshop
Maurice de Beijer
Maurice de Beijer
¡Prepárate para potenciar tus habilidades de desarrollo web con los Componentes del Servidor React! En esta inmersiva masterclass de 3 horas, desbloquearemos el potencial completo de esta tecnología revolucionaria y exploraremos cómo está transformando la forma en que los desarrolladores construyen aplicaciones web rápidas y eficientes.
Únete a nosotros mientras nos adentramos en el emocionante mundo de los Componentes del Servidor React, que combinan sin problemas el renderizado del lado del servidor con la interactividad del lado del cliente para un rendimiento y una experiencia de usuario inigualables. Obtendrás experiencia práctica a través de ejercicios prácticos, ejemplos del mundo real y orientación experta sobre cómo aprovechar el poder de los Componentes del Servidor en tus propios proyectos.
A lo largo de la masterclass, cubriremos temas esenciales, incluyendo:- Entender las diferencias entre los Componentes del Servidor y del Cliente- Implementar Componentes del Servidor para optimizar la obtención de datos y reducir el tamaño del paquete JavaScript- Integrar Componentes del Servidor y del Cliente para una experiencia de usuario fluida- Estrategias para pasar datos efectivamente entre componentes y gestionar el estado- Consejos y mejores prácticas para maximizar los beneficios de rendimiento de los Componentes del Servidor React
0 a Auth en una Hora Usando NodeJS SDK
Node Congress 2023Node Congress 2023
63 min
0 a Auth en una Hora Usando NodeJS SDK
WorkshopFree
Asaf Shen
Asaf Shen
La autenticación sin contraseña puede parecer compleja, pero es fácil de agregar a cualquier aplicación utilizando la herramienta adecuada.
Mejoraremos una aplicación JS de pila completa (backend de Node.JS + frontend de React) para autenticar usuarios con OAuth (inicio de sesión social) y contraseñas de un solo uso (correo electrónico), incluyendo:- Autenticación de usuario - Administrar interacciones de usuario, devolver JWT de sesión / actualización- Gestión y validación de sesiones - Almacenar la sesión para solicitudes de cliente posteriores, validar / actualizar sesiones
Al final del masterclass, también tocaremos otro enfoque para la autenticación de código utilizando Flujos Descope en el frontend (flujos de arrastrar y soltar), manteniendo solo la validación de sesión en el backend. Con esto, también mostraremos lo fácil que es habilitar la biometría y otros métodos de autenticación sin contraseña.
Tabla de contenidos- Una breve introducción a los conceptos básicos de autenticación- Codificación- Por qué importa la autenticación sin contraseña
Requisitos previos- IDE de tu elección- Node 18 o superior
Búsqueda de texto completo basada en JavaScript con Orama en todas partes
Node Congress 2023Node Congress 2023
49 min
Búsqueda de texto completo basada en JavaScript con Orama en todas partes
Workshop
Michele Riva
Michele Riva
En este masterclass, veremos cómo adoptar Orama, un potente motor de búsqueda de texto completo escrito completamente en JavaScript, para hacer que la búsqueda esté disponible donde sea que se ejecute JavaScript. Aprenderemos cuándo, cómo y por qué sería una gran idea implementarlo en una función sin servidor, y cuándo sería mejor mantenerlo directamente en el navegador. Olvídate de las APIs, configuraciones complejas, etc.: Orama facilitará la integración de la búsqueda en proyectos de cualquier escala.