freeCodeCamp/curriculum/challenges/spanish/03-front-end-libraries/sass/use-if-and-else-to-add-logi...

3.8 KiB

id title challengeType videoUrl localeTitle
587d7dbe367417b2b2512bb8 Use @if and @else to Add Logic To Your Styles 0 Use @if y @else para agregar lógica a sus estilos

Description

La directiva @if en Sass es útil para probar un caso específico: funciona igual que la sentencia if en JavaScript.
@mixin make-bold ($ bool) {
@if $ bool == true {
font-weight: negrita;
}
}
Y al igual que en JavaScript, @else if y @else prueban más condiciones:
@mixin efecto-texto ($ val) {
@if $ val == peligro {
color rojo;
}
@else if $ val == alert {
color amarillo;
}
@else if $ val == éxito {
color verde;
}
@else {
de color negro;
}
}

Instructions

Cree un mixin llamado border-stroke que tome un parámetro $val . La mixin debe verificar las siguientes condiciones usando @if , @else if , y @else :
luz - 1px negro sólido
mediano - 3px negro sólido
pesado - 6px negro sólido
ninguno - sin borde

Tests

tests:
  - text: Su código debe declarar un <code>mixin</code> denominado <code>border-stroke</code> que tiene un parámetro llamado <code>$val</code> .
    testString: 'assert(code.match(/@mixin\s+?border-stroke\s*?\(\s*?\$val\s*?\)\s*?{/gi), "Your code should declare a <code>mixin</code> named <code>border-stroke</code> which has a parameter named <code>$val</code>.");'
  - text: Su <code>mixin</code> debe tener una instrucción <code>@if</code> para verificar si <code>$val</code> está claro y para establecer el <code>border</code> en 1px negro sólido.
    testString: 'assert(code.match(/@if\s+?\$val\s*?===?\s*?light\s*?{\s*?border\s*?:\s*?1px\s+?solid\s+?black\s*?;\s*?}/gi), "Your <code>mixin</code> should have an <code>@if</code> statement to check if <code>$val</code> is light, and to set the <code>border</code> to 1px solid black.");'
  - text: 'Su <code>mixin</code> debe tener una <code>@else if</code> para verificar si <code>$val</code> es medio, y para establecer el <code>border</code> en 3px negro sólido.'
    testString: 'assert(code.match(/@else\s+?if\s+?\$val\s*?===?\s*?medium\s*?{\s*?border\s*?:\s*?3px\s+?solid\s+?black\s*?;\s*?}/gi), "Your <code>mixin</code> should have an <code>@else if</code> statement to check if <code>$val</code> is medium, and to set the <code>border</code> to 3px solid black.");'
  - text: 'Su <code>mixin</code> debe tener una <code>@else if</code> para verificar si <code>$val</code> es pesado, y para establecer el <code>border</code> en 6px negro sólido.'
    testString: 'assert(code.match(/@else\s+?if\s+?\$val\s*?===?\s*?heavy\s*?{\s*?border\s*?:\s*?6px\s+?solid\s+?black\s*?;\s*?}/gi), "Your <code>mixin</code> should have an <code>@else if</code> statement to check if <code>$val</code> is heavy, and to set the <code>border</code> to 6px solid black.");'
  - text: Su <code>mixin</code> debe tener una instrucción <code>@else</code> para establecer el <code>border</code> en ninguno.
    testString: 'assert(code.match(/@else\s*?{\s*?border\s*?:\s*?none\s*?;\s*?}/gi), "Your <code>mixin</code> should have an <code>@else</code> statement to set the <code>border</code> to none.");'

Challenge Seed

<style type='text/sass'>



  #box {
    width: 150px;
    height: 150px;
    background-color: red;
    @include border-stroke(medium);
  }
</style>

<div id="box"></div>

Solution

// solution required