Utilidades de los selectores :where y :is

by Laura Celis Ballesta Date: 16-03-2023 css

Si aún no has oído hablar de estos selectores de pseudoclases, no te preocupes, aquí te explicamos el funcionamiento y dejamos varios usos que nos pueden ser muy útiles a la hora de diseñar.

 

:where() es un selector de pseudoclases funcional, que coge una lista de selectores como argumento y aplica el estilo dado a esos elementos ahorrandonos líneas de código y tiempo.

Por ejemplo, si vamos a repetir el mismo estilo a los enlaces que haya dentro del 'header' y 'footer', en vez de separarlos con comas, hariamos algo así:

 

En vez de hacer esto:

ejemplo :where() 1

Haríamos esto:

ejemplo :where() 2

Como podemos ver nos hace mucho mas simple darle estilo a los elementos que se repiten varias veces.

 

Entonces, ¿Cómo lo podemos utilizar?

En el ejemplo de antes lo hemos puesto al principio de la línea pero también lo podemos posicionar de manera distinta:

- En el medio

ejemplo :where() 3

- Al final

ejemplo :where() 4

- E incluso podríamos reducirlo más

ejemplo :where() 5
 

Características

Es un selector que tiene cero especificidad, lo que significa que si más abajo se reescribe el estilo de algún elemento dejará de tomar en cuenta lo que le hemos aplicado dentro del :where().

También es conocido como 'el selector olvidadizo' ya que si hay alguna pseudoclase o selector inválido, en vez de dar error, le dará estilo a los que si sean válidos.

Es un selector que lo soportan todos los navegadores tanto para desktop como para movil, así que no genera ningún problema.

 

Formas de utilizarlo que nos pueden ser útiles

- CSS resets

Si los resets los hacemos con el selector :where(), en vez de con tags directamente, no tendrán especificidad, lo cual nos resulta práctico para cambiar el estilo de la página más adelante sin que pueda generar problemas con el reset.

Ejemplo:

ejemplo :where() 6

- Quitar estilos

Al igual que puede ser útil para hacer el reset del principio, también lo puede ser para hacer 'mini resets' en alguna parte del código que queramos limpiar.

Minificar

Código corto siempre es mejor de leer y cargar, ya lo sabemos.

Por lo que, un buen ejercicio es examinar nuestro código y ver si hay elementos que compartan estilos, aquí puedes ver si podemos reducir líneas utilizando :where.
Debemos de tener cuidado ya que hay que valorar si un elemento es demasiado importante como para quitarle toda la especificidad, en ese caso utilizaremos :is()

La alternativa a :where() - :is()

El funcionamiento de este selector es el mismo, con la única diferencia de que la especificidad pasa de ser 0, a ser la del argumento con mayor especificidad.
Esto nos puede resultar práctico cuando estamos seguros de que el estilo que estemos aplicando a esos elementos va a ser fijo, y no tenemos pensado cambiarlo, como podrían ser los colores de imágen coorporativa de una marca.

Ahora que ya los conoces, tanto :where() como :is() son selectores que pueden ayudarnos bastante de forma muy sencilla y rápida.
Valora cual de los dos es mejor utilizar para cada caso y ahorrate lineas y tiempo!

Espero que te haya resultado útil y muchas gracias por leer!

 
by Laura Celis Ballesta Date: 16-03-2023 css visitas : 719  
 
 
 
 

Artículos relacionados

Nuevas unidades de ventana gráfica - CSS

'Intercop 2022' es un proyecto anunciado por Google, Microsoft, Apple y la fundación Mozzilla para que todos los navegadores ofrezcan la misma experiencia web. El proyecto tiene 15 áreas de enfoque…

Container queries: libera el poder de escribir media queries

El diseño web responsivo ha sido una práctica común durante años, permitiendo que los sitios se adapten y se vean bien en una variedad de dispositivos y tamaños de pantalla.…

¿Por qué no deberíamos usar el color negro?

A día de hoy es cada vez más frecuente que las páginas cuenten con la opción de ponerlas en modo oscuro, o que directamente basen su estética en los colores…

Cómo centrar un Div con CSS - 10 formas diferentes

Para los desarrolladores web, a veces centrar un div parece uno de los trabajos más difíciles del mundo. Pues ya no. En este artículo, aprenderás 10 formas diferentes de centrar un…

Como hacer tu propio cursor personalizado para tu web

Cuando empecé a ojear webs distintas y originales para aprender de ellas, de las primeras cosas que me llamaron la atención fue que algunas de ellas tenían sus propios cursores,…

Explorando la API CSS Paint: Redondeo de formas parte 2

Vamos con la segunda parte de nuestro artícul sobre como manejar la API Paint para redondar bordes complejos   Control de los radios   En todos los ejemplos que hemos visto, siempre consideramos un…

Explorando la API de CSS Paint: Redondeo de formas parte 1

Añadir bordes a las formas complejas es un auténtico rollo (a veces), pero redondear las esquinas de las formas complejas es un suplicio jejeje. Por suerte, la API de pintura…

Las ventanas gráficas o viewports grandes, pequeñas y dinámicas

Recientemente se han introducido algunos cambios en materia de unidades de ventana gráfica o viewport. Las novedades -que forman parte de la especificación de valores y unidades CSS de nivel 4-…

Imágenes de fondo responsivas con relación de aspecto fijo o fluido

¿Cuál es la forma más fácil de escalar las imágenes de fondo en los diseños responsivos? Utilizamos una antigua técnica y la mejoramos para cambiar con fluidez la ratio de…

Comenzando con Bootstrap-Vue paso a paso

Hoy te mostraremos cómo usar BootstrapVue, describiremos el proceso de instalación y mostraremos la funcionalidad básica. El proyecto está basado en el framework CSS más popular del mundo - Bootstrap, para…

Bootstrap 5 beta2. ¿Qué ofrece?

Dado que el lanzamiento de Bootstrap 4 es de tres años, en este artículo vamos a presentar lo que es nuevo en el marco más popular del mundo para la…

Creación de un sencillo spinner-loader CSS

En el artículo de hoy mostraremos cómo animar un loader básico que gira cuando se define alguna acción predefinida, como cargar una imagen. Eso se puede utilizar en un sitio…

Clicky