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.