Como curiosidades, hemos diseñado todo sin utilizar imágenes, sólo usamos #CSS para diseñar, y #WebComponents (nativos) para encapsular y reutilizar.
- 11 WebComponents
- 515 líneas totales de Javascript
- 449 líneas totales de CSS
Utilizamos la tipografía «Heroes Legend» para el logo, y la tipografía Bebas Neue para el resto de textos. Nuestra versión se llama «Punko FOP!» (gracias a pbl78 por la idea).
Para generar el proyecto utilizamos `mkweb`. Se trata de un script de generación de proyectos Javascript, que utiliza ViteJS por debajo y crea una estructura de carpetas preconfigurada con linters (JS + CSS) preconfigurados:
El CSS de los componentes está dividido en ficheros para que sea más facil mantener. Con Vite se puede importar desde JS. Al final, decidimos usar WebComponents para organizarlo mejor, pero sin ShadowDOM. En ese caso, la responsabilidad de evitar colisiones recae en las clases.
Quizás lo ideal sería utilizar una librería CSS-in-JS como Linaria, Emotion, Vanilla-extract o Astroturf. En un próximo directo me gustaría ponerme a probarlas a ver cual se adapta mejor a WebComponents y PostCSS.
Puede sorprender a alguno, ya que la imagen pixelada de ManzDev también está hecha íntegramente en CSS, sin usar imágenes.
Para el 3D del ejemplo, no usamos librerías, sino que utilizamos propiedades de CSS como `transform` con rotaciones y translaciones, junto a propiedades como `perspective` o `transform-origin` y `transform-style`:
Por cierto, está vacía, sí... 404
*ba*
*dum*
*tssss*
Logro desbloqueado:
Que los cracks de @CodelyTV te dejen un comentario en el video del stream😁
Por cierto, para la instalación de paquetes de nodeJS llevo un tiempo utilizando `pnpm` (alternativa a npm) y va tremendamente rápido:
Me encuentro muchos tweets similares. En general, gente que no ha pensado demasiado lo que está ocurriendo (o no profundiza), o simplemente es hater de Javascript (y lo usan como excusa).
Un claro ejemplo es este popular meme, que expliqué en otro hilo:
Developah: ¿Poner una imagen en HTML? ¡Claro que sé hacerlo! ¡Eso lo sabe hacer todo el mundo!
🧵Abro hilo.
A ver, maticemos un poco antes de que me caigan encima, que puede sonar prepotente.
En HTML suelen pasar dos cosas:
✅Es MUY FÁCIL hacer algo.
✅Es DIFÍCIL hacerlo correctamente.
¿Cómo pondrías una imagen?
— Fácil. Uso etiqueta `<img>` y en el atributo `src` pongo la imagen.
✅¿Funciona? Sí
❌¿Es correcto? No
En HTML, TODAS las etiquetas `<img>` deben tener el atributo `alt`, donde se debe especificar un «texto alternativo» de reemplazo por si, por alguna razón, las imágenes no están disponibles, se muestre dicho texto.
Desde selectores #CSS, se pueden seleccionar etiquetas dependiendo de sus atributos HTML.
Por ejemplo, `a[href$=".pdf"]` selecciona todos los enlaces a archivos con extensión `.pdf`, pero `a[href$=".pdf" i]` hace lo mismo sin tener en cuenta mayúsculas/minúsculas.