Contenido del curso
Instalación y configuración del entorno de trabajo
Reglas y uso
Expresiones
Proyecto: sección main
Herencia en SASS
Mixins
Funciones
Proyecto
Deploy
Extras
Nesting y @rules de Sass en navbar
Resumen
Si trabajas con hojas de estilos extensas en Sass, las @rules y el nesting son dos herramientas que te ayudan a modularizar y simplificar tu código sin perder compatibilidad con CSS. Aquí aprenderás qué hace cada regla, cómo anidar selectores y cómo aplicar ambos conceptos al estilizar una navbar real.
Qué son las @rules en Sass y para qué sirven
Una @rule es una declaración que cumple funciones específicas dentro de CSS, se inicializa con el símbolo @ y tiene una sintaxis propia. En Sass, estas reglas mantienen compatibilidad con versiones futuras de CSS y te permiten organizar tu código en módulos reutilizables [0:18].
¿Cuál es la diferencia entre @use y @import en Sass?
@usecarga módulos, estilos y funciones de otra hoja de forma encapsulada, mientras que@importlos expone de forma global.@usees la opción recomendada por Sass moderno.
Qué reglas existen en Sass y cuándo usarlas
Dentro del ecosistema de Sass encontrarás reglas con propósitos muy distintos [0:45]:
@use: importa módulos, estilos y funciones de otras hojas de estilo.@function: te permite crear funciones personalizadas, además de las que Sass ya trae.@forward: recibe una URL y carga estilos para que estén disponibles vía@use.@extend: se relaciona con el concepto de herencia entre selectores.@at-root: carga estilos en la raíz del CSS compilado.@include: invoca mixins dentro de tus selectores.
También existen reglas orientadas a la compilación, como @error, @warn y @debug, útiles para detectar problemas en tu código [2:05]. Y para lógica, Sass ofrece estructuras de control como @for, @if, @each y @while, que se pueden usar dentro de funciones.
Qué es nesting en Sass y por qué simplifica tu código
El nesting o anidación de selectores te permite escribir selectores dentro de otros, respetando el orden en que aparecen en tu HTML [3:08]. En lugar de escribir nav p repetidamente en CSS, dentro de Sass puedes meter p dentro del bloque de nav y el compilador entiende la jerarquía.
¿Cuándo conviene usar nesting? Cuando tus elementos están realmente anidados en el HTML, por ejemplo, un
navque contieneul,liya. Si los elementos no comparten jerarquía, anidarlos genera CSS confuso.
La ventaja práctica es clara: tu hoja de estilos refleja la estructura del documento, y eso facilita ubicar qué selector pertenece a qué bloque.
Cómo aplicar nesting al estilizar una navbar paso a paso
Para estilizar la navbar del proyecto, primero se preparan los estilos globales del body con background-color usando la variable primary-color y font-family con la variable font-stack [4:35]. Después se ejecuta Sass en modo watch con Ctrl+Shift+P y Watch Sass para compilar en tiempo real.
Cómo agrupar y anidar elementos dentro de la navbar
En el HTML se agrupan los botones de íconos dentro de un div con clase icons, y se reemplazan las etiquetas svg por los archivos de la carpeta assets/svg: profile, wishlist y shopping cart [6:30]. Con esa estructura lista, el bloque Sass queda así:
scss nav { display: flex; justify-content: space-between; padding: 15px; color: $primary-text-color;
p { font-size: 1.5em; padding-left: 30px; }
.icons { display: flex; gap: 15px;
button { background: none; border-style: none; }
} }
Aquí el nesting hace su magia: dentro de nav se declaran p, .icons y dentro de esa clase, button. En CSS plano tendrías que escribir nav p, nav .icons y nav .icons button por separado [10:12].
Cómo ajustar tamaños y colores de los SVG
Para unificar el color verde de los íconos se modifica directamente el atributo stroke dentro del path de cada SVG con el hexadecimal extraído de Figma [12:40]. Para cambiar el tamaño de varios íconos a la vez, Cmd+F permite buscar width="24" y reemplazarlo por width="36", y lo mismo con height. Es un truco que ahorra tiempo cuando el archivo crece.
Cómo distribuir los elementos de la navbar con Flexbox
Para que el logotipo quede a un extremo y los íconos al otro, la navbar usa display: flex y justify-content: space-between [14:20]. Esta propiedad reparte el espacio sobrante entre los elementos, dejando el primero pegado al extremo izquierdo y el último al derecho.
space-between: distribuye el espacio entre elementos, sin margen en los extremos.space-around: agrega espacio también a los lados.space-evenly: reparte espacio idéntico entre todos los huecos.
Dentro del div.icons se aplica gap: 15px para separar los tres botones, recordando que olvidar la coma o el punto y coma genera errores visibles en la consola de debug de Sass [16:50]. Si Live Sass Compiler no muestra cambios, revisa la sintaxis antes que cualquier otra cosa.
En la siguiente clase se trabajará con expresiones, operaciones y su jerarquía dentro de Sass. ¿Qué otra @rule te gustaría dominar primero? Cuéntame en los comentarios.