Nesting
El término de Nesting podemos decir que es código CSS anidado, teniendo bloques de código unos dentro de otro y facilitando al programador el mantenimiento del nesting al ser mucho más intuitivo. Veamos un ejemplo, con un header de una web, donde los estilos del header serán aplicados a todos los hijos de .header
Mediante este ejemplo, podemos ver que los estilos de nav están dentro de los estilos del header haciendo que el código quede más claro y más organizado. Vamos a ir poco a poco aprendiendo su sintaxis ya que será la misma que usaremos en Sass. En el ejemplo anterior estamos anidando nav como si empleáramos el selector .header nav
La sintaxis más sencilla es la que hemos visto antes, pero hay casos donde si no utilizamos el selector & este anidamiento no funciona.
- Cuando enlazamos varios selectores juntos o con pseudoclase (:hover, :checked, :visited, :not()...)
- Por compatibilidad con navegadores antiguos...
- Para facilitar la legibilidad...
Nesting para enlazar varios selectores
Otro ejemplo donde debemos usar el & es cuando queremos seleccionar aquellos elementos que contengan al padre, es decir:
Anidamiento de reglas
Es posible anidar reglas (@media, @supports, @layer, @scope, @container) css dentro de bloques CSS con nesting.