Sass - diretiva @each

Descrição

Em @each , é definida uma variável que contém o valor de cada item em uma lista.

Sintaxe

@each $var in <list or map>

A sintaxe é brevemente explicada abaixo -

  • $var- Representa o nome da variável. @cada conjunto de regras$var a cada item da lista e produz os estilos usando o valor de $var.

  • <list or map>- Essas são expressões SassScript, que retornarão uma lista ou um mapa .

Exemplo

O exemplo a seguir demonstra o uso da diretiva @each -

<html>
   <head>
      <title>Control Directives & Expressions</title>
      <link rel = "stylesheet" type = "text/css" href = "style.css"/>
   </head>

   <body>
      <p class = "p_red">This is line one.</p>
      <p class = "p_green">This is line two.</p>
      <p class = "p_yellow">This is line three.</p>
      <p class = "p_blue">This is line four.</p>
   </body>
</html>

Em seguida, crie o arquivo style.scss .

style.scss

@each $color in red, green, yellow, blue {
   .p_#{$color} {
      background-color: #{$color};
   }
}

Você pode dizer ao SASS para observar o arquivo e atualizar o CSS sempre que o arquivo SASS for alterado, usando o seguinte comando -

sass --watch C:\ruby\lib\sass\style.scss:style.css

A seguir, execute o comando acima; ele criará o arquivo style.css automaticamente com o seguinte código -

style.css

.p_red {
   background-color: red; 
}

.p_green {
   background-color: green; 
}

.p_yellow {
   background-color: yellow; 
}

.p_blue {
   background-color: blue; 
}

Resultado

Vamos realizar as seguintes etapas para ver como funciona o código fornecido acima -

  • Salve o código html fornecido acima no arquivo @ each.html .

  • Abra este arquivo HTML em um navegador, uma saída é exibida conforme mostrado abaixo.