No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Selectores CSS y Variables en SAS: Aplicación Práctica

5/20
Recursos

¿Cómo usar selectores en CSS?

CSS nos permite agregar estilos a diferentes elementos de una página web a través de selectores. Los selectores de CSS definen sobre qué elementos se van a aplicar los estilos, y pueden ser de diferentes tipos:

  • Selectores de clase: Usan un punto seguido del nombre de la clase (.clase).
  • Selectores de ID: Usan el símbolo de gato seguido del nombre del ID (#id).
  • Selectores de tipo: Se aplican directamente sobre el nombre del elemento como body o main.
  • Selectores por atributo: Se aplican sobre elementos con un atributo específico, como [type="text"].

Estos selectores debidamente empleados nos permiten diseñar hojas de estilo más finas y efectivas.

¿Qué es el scope en SAS?

El scope en SAS se refiere al contexto en el que existe una variable y dónde esta puede ser usada. Existen dos tipos de variables, cada una con su propio alcance:

  1. Variables locales: Son declaradas dentro de un bloque de código delimitado por llaves. Solo los selectores anidados dentro del mismo bloque pueden acceder a ellas.
  2. Variables globales: Son aquellas creadas en cualquier parte de la hoja de estilos y pueden ser accedidas desde cualquier lugar en la hoja de estilos.

¿Qué significa el concepto de "shadowing"?

El "shadowing" es el fenómeno por el cual tanto las variables locales como las globales pueden tener el mismo nombre sin causar conflicto, siempre que estén en diferentes niveles del scope. Esto resulta útil para evitar errores al modificar el valor de una variable, ya que permite diferenciar entre el uso local y global de la misma.

¿Cómo cambiar el valor global de una variable local?

Dentro de SAS existe un flag llamado global que se utiliza para cambiar el valor global de una variable definida de forma local. Esta funcionalidad es esencial si necesitamos sobrescribir el valor de una variable global desde un scope local.

¿Cómo aplicar estilos con Visual Studio Code?

Para aplicar estilos en un proyecto en Visual Studio Code, sigue estos pasos básicos:

  1. Estructura HTML: Crea las etiquetas necesarias, como <nav>, <main>, y <footer>, y aplica, si es necesario, selectores de clase para cada una:

    <nav class="navbar"></nav>
    <main class="main-section"></main>
    <footer class="footer"></footer>
    
  2. Estilos en SAS: A continuación, pasa al archivo de estilos main.scss y define los estilos deseados:

    .navbar {
        background-color: $primary-color;
    }
    
    .main-section {
        background-color: $primary-color;
    }
    
    #footer {
        background: $background-color;
        width: 100%;
        height: 250px;
    }
    
  3. Uso de variables: Haz uso de las variables predefinidas en tu archivo SAS para mantener coherencia en el diseño.

  4. Revisión en navegador: Utiliza el navegador para verificar cómo se muestran tus elementos con los estilos aplicados y ajusta según sea necesario.

Con una estructura clara y el uso eficiente de selectores y scopess, podemos desarrollar proyectos con CSS y SAS de manera eficiente. Si necesitas estilos limpios y mantenibles, aplica estas prácticas en tus siguientes desarrollos. ¡Sigue aprendiendo y explorando!

Aportes 17

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Mi resumen:
El scope dentro de Sass hace referencia al contexto en el que son declaradas las variables y donde es posible hacer uso de las mismas, hay dos tipos de variables:
Locales:
• Declaradas dentro de un bloque { }
• Cualquier selector anidado puede acceder a las variables locales declaradas dentro del selector
Globales:
• Todas las variables declaradas fuera de un selector son globales, esto significa que se puede acceder a ellas en cualquier parte de nuestra hoja de estilos.

Shadowing: Las variables locales y globales pueden tener el mismo nombre ya que se encuentran en diferentes niveles del scope para evitar que se modificquen por error las variables globales.

!global flag: Se usa en caso de querer modificar el valor global de una variable dentro del scope de una variable local.

🎉 Scope en sass → contexto de creación y alcance de las variables

El figma te dice el ancho o alto de cada cosa que diseñes, la profe esta como adivinando que height usar, es lo bonito del figma, sketch, Adobe XD, etc. que te van diciendo que tamaño de pixeles usar para que te quede igual que el prototipo.

alguién tiene la liga del figma??? o la profe no la quiere pasar 😛

lo unico que he encontrado es esto:

global y local

usando !global

peeero…

no es necesario agregarle la clase navbar a una etiqueta del tipo nav! Si sabes que solo vas a tener uno solo de ese tipo, puedes darle estilos a nav!

codigo .scss de la clase

$primary-color:#FFEFE7;
$secundary-color:#FFDAC6;
$tertiary-color:#BABD8D;
$primary-text-color:#7C6A0A;
$font-stackl: 'IBM Plex Sans' , sans-serif; 

body{
    margin: 0;
    padding: 0;
}
.navbar{
background-color: $primary-color;
}
nav{
 width: 100%;
 height:100px;
}
main{ 
    background-color: $primary-text-color;
}
.footer{
 background: #FA9500;
 background-color: $background ;
 width: 100%;
 height: 250px;
}

codigo HTML de la clase

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="/sass/main.css">
    <link rel=“preconnect” href=“https://fonts.googleapis.com”>
    <link rel=“preconnect” href=“https://fonts.gstatic.com” crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;700&display=swap" rel="stylesheet">
    <title>Document</title>
</head>
<body>
    <nav class="navbar"></nav>
    <main class="main-section"></main>
    <footer class="footer"></footer>
</body>
</html>
Por buenas practicas pueden agregar el selector de html y dentro de este usar el font-size de 62.5% para el tema del rem. `html{` ` font-size: 62.5%;` `]` pudiendo omitir pixeles y dando adaptabilidad.
Extraña forma de implementar un proyecto que tiene un diseño en Figma, con especificaciones muy claras para los estilos. Los 135px de altura definidos para el header en la versión desktop, o los 32px de la versión mobile, no se tuvieron en cuenta.
Primera vista de mi proyecto en Sass ![](https://static.platzi.com/media/user_upload/image-aead063c-5ae6-44e4-96da-0db8a38e0502.jpg)
Recomiendo que conforme vayan viendo el curso lean la documentacion oficial de SASS. [Sass: Syntactically Awesome Style Sheets](https://sass-lang.com/)
Se me abría la consola cada vez que guardaba un cambio, aquí encontré la solución: 1. Abre la configuración de Visual Studio Code presionando `Ctrl + ,` o haciendo clic en el ícono de engranaje en la parte inferior izquierda y seleccionando "Settings". 2. En la barra de búsqueda de configuración, escribe `live sass`. 3. Busca la opción llamada **Live Sass Compiler: Show Output Window**. 4. Desmarca esta opción para que la consola no se abra automáticamente cada vez que se guarden cambios.

Genial…:!

Sin @media

usando: cqw

Tip: Global variables should be defined outside any rules. It could be wise to define all global variables in its own file, named “_globals.scss”, and include the file with the @include keyword.

Scope de las variables y shadowing

El scope dentro de Sass hace referencia al contexto en el que son declaradas las variables y donde es posible hacer uso de las mismas:

Locales:

  • Declaradas dentro de un bloque { }
  • Cualquier selector anidado puede acceder a las variables locales declaradas dentro del selector

Globales:

  • Todas las variables declaradas fuera de un selector son globales, esto significa que se puede acceder a ellas en cualquier parte de nuestra hoja de estilos.

Shadowing

  • Las variables locales y globales pueden tener el mismo nombre ya que se encuentran en diferentes niveles del scope para evitar que se modifiquen por error las variables globales.

!global flag

  • Se usa en caso de querer modificar el valor global de una variable dentro del scope de una variable local.