Sass - diretiva @while

Descrição

Assim como outras diretivas de controle, a diretiva @while também aceita expressões SassScript e até que a instrução seja avaliada como falsa, ela produz estilos aninhados de forma iterativa. O ponto principal a ser observado é que a variável do contador precisa ser incrementada / decrementada em cada iteração.

Sintaxe

while(condition) {
   // CSS codes
}

Exemplo

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

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

   <body>
      <p class = "paddding-50">This is line one with left padding 50. </p>
      <p class = "paddding-40">This is line two with left padding 40.</p>
      <p class = "paddding-30">This is line three with left padding 30. </p>
      <p class = "paddding-20">This is line four with left padding 20. </p>
      <p class = "paddding-10">This is line five with left padding 10. </p>
   </body>
</html>

Em seguida, crie o arquivo style.scss .

style.scss

$i: 50;
@while $i > 0 {
   .paddding-#{$i} { padding-left: 1px * $i; }
   $i: $i - 10;
}

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

.paddding-50 {
   padding-left: 50px;
}

.paddding-40 {
   padding-left: 40px; 
}

.paddding-30 {
   padding-left: 30px; 
}

.paddding-20 {
   padding-left: 20px; 
}

.paddding-10 {
   padding-left: 10px; 
}

Resultado

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

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

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