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.
Las "variables CSS" no son animables por defecto. Sin embargo, mediante `@property` (Houdini CSS) podemos asignarles un tipo de dato (syntax), herencia y un valor inicial por defecto, de modo que pasan a serlo.
Si una unidad mide `0%`, `0px`, `0em`, `0rem`, etc... puedes omitir la unidad de forma segura, ya que independientemente de la unidad, va a ser '0', y funcionará igual.
Si queremos posicionar un elemento con la propiedad `position`, haciendo uso de las `top`, `bottom`, `left` y `right`, hoy en día podemos usar la propiedad de atajo `inset` la cuál resulta mucho más cómoda.
Usando el pseudoelemento `::first-letter` podemos dar estilo a la primera letra de un elemento, estableciendo (por ejemplo) una tipografía decorativa al estilo de cuentos, como Cinzel Decorative: fonts.google.com/specimen/Cinze…
Las sombras `box-shadow` permiten crear sombras en la caja (rectángulo) que aplicamos. Sin embargo, el filtro `drop-shadow()` permite crear una sombra IDÉNTICA (como una gota de agua), que respeta incluso las transparencias de una imagen.
Con la media query especial `@Media print { ... }` se pueden indicar estilos que se aplican sólo cuando el usuario imprime una página.
Puede ser útil para ocultar elementos que no tienen sentido en un formato físico, reducir la cantidad de color negro (ahorrar tinta), etc...
Utilizando la propiedad `image-rendering` al valor `pixelated` podemos cambiar el renderizado del navegador de ciertas imágenes, cambiando el algoritmo de interpolación, lo que puede ser útil por ejemplo para imágenes pixel art.
Los gradientes `linear-gradient` y `radial-gradient` son bien conocidos (incluso variantes con prefijo `repeating-*`). Pero `conic-gradient` no lo suele ser tanto. Con él podemos representar gradientes cónicos vistos desde arriba.
Bueeeeeeeeeeno... Aquí me puedes ver haciendo el pato construyendo una torreta de Portal con CSS en Twitch clips.twitch.tv/DignifiedSmoot…
¡Has llegado hasta aquí! Si te ha gustado este contenido, sígueme en Twitch ( twitch.tv/ManzDev ) donde hacemos cosas chulas con HTML+CSS+Javascript y mira mis otras redes (Youtube, Discord, etc...) para descubrir todo lo que hemos hecho...
Curioso lo que ocurre si desactivas Javascript en tu navegador y comienzas a ver la reacción de ciertas páginas. Esto nos puede ayudar a entender la importancia que se le da hoy a la accesibilidad y lo preparados que estamos para cubrir enfoques progresivos...
🧵Abro hilo...
✔️Twitter nos hace viajar en el tiempo al pasado, circa 2005. La web es funcional, aunque tengo la sensación de que no sólo hemos pasado a no utilizar Javascript, sino casi también a no usar CSS3.
✔️Google. Aprobadísimo. Es perfectamente funcional y adaptado al dispositivo. Sólo en algunas pantallas observas que hemos vuelto a la era de Google+.
Siempre había escuchado quejas de la web de Renfe, y ayer, tras un tweet de @MarkVillacampa, me dio curiosidad por examinar por encima el código Javascript de la web. Lo que verás a continuación te sorprenderá (o no). Abro hilo.
Lo primero, el código JS está sin minificar/ofuscar. Un código JS no tiene porque estarlo, pero al menos sería interesante hacer "strip" de comentarios y eliminarlos. Hay muchos comentarios que pueden ser útiles para el desarrollador, pero no deberían estar en producción.
A lo largo del código Javascript, vemos comentarios de historial de cambios. Se están usando los comentarios como control de versiones. Git llora en una esquina.
Guía para crispar el ambiente en un evento tecnológico "trendy" de programación.
Abro hilo.
Si estás en una charla de React o VueJS, lleva una camiseta de Angular. Si es posible, de AngularJS.
Si es una charla de backend, lleva un peluche de PHP y ponlo en la mesa. Y siéntate cerca del ponente. Si es de frontend, también vale uno de Internet Explorer.