Files

2.7 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7dbe367417b2b2512bb9 Usa @for para crear un bucle Sass 0 301462 use-for-to-create-a-sass-loop

--description--

La directiva @for agrega estilos en un bucle, muy similar a un bucle for en JavaScript.

@for se utiliza de dos maneras: "de principio hasta el fin" o "de principio a fin". La principal diferencia es que el "de principio a fin" excluye el número final como parte de la cuenta, y "de principio hasta el fin" incluye el número final como parte de la cuenta.

Aquí hay un ejemplo de principio hasta el fin:

@for $i from 1 through 12 {
  .col-#{$i} { width: 100%/12 * $i; }
}

La parte #{$i} es la sintaxis para combinar una variable (i) con texto para hacer una cadena. Cuando el archivo Sass se convierte en CSS, tiene este aspecto:

.col-1 {
  width: 8.33333%;
}

.col-2 {
  width: 16.66667%;
}

...

.col-12 {
  width: 100%;
}

Esta es una manera poderosa de crear un diseño de cuadrícula (grid). Ahora tienes doce opciones de ancho de columna disponibles como clases CSS.

--instructions--

Escribe una directiva @for que tome una variable $j que vaya de 1 a 6.

Debes crear 5 clases llamadas .text-1 a .text-5 donde cada una tiene un font-size establecido en 15px multiplicado por el índice.

--hints--

Tu código debe utilizar la directiva @for.

assert(code.match(/@for /g));

Tu clase .text-1 debe tener un font-size de 15px.

assert($('.text-1').css('font-size') == '15px');

Tu clase .text-2 debe tener un font-size de 30px.

assert($('.text-2').css('font-size') == '30px');

Tu clase .text-3 debe tener un font-size de 45px.

assert($('.text-3').css('font-size') == '45px');

Tu clase .text-4 debe tener un font-size de 60px.

assert($('.text-4').css('font-size') == '60px');

Tu clase .text-5 debe tener un font-size de 75px.

assert($('.text-5').css('font-size') == '75px');

--seed--

--seed-contents--

<style type='text/scss'>



</style>

<p class="text-1">Hello</p>
<p class="text-2">Hello</p>
<p class="text-3">Hello</p>
<p class="text-4">Hello</p>
<p class="text-5">Hello</p>

--solutions--

<style type='text/scss'>

@for $i from 1 through 5 {
  .text-#{$i} { font-size: 15px * $i; }
}

</style>

<p class="text-1">Hello</p>
<p class="text-2">Hello</p>
<p class="text-3">Hello</p>
<p class="text-4">Hello</p>
<p class="text-5">Hello</p>

<style type='text/scss'>

@for $i from 1 to 6 {
  .text-#{$i} { font-size: 15px * $i; }
}

</style>

<p class="text-1">Hello</p>
<p class="text-2">Hello</p>
<p class="text-3">Hello</p>
<p class="text-4">Hello</p>
<p class="text-5">Hello</p>