@if դիրեկտիվը SASS-ում

Եթե մեզ անհրաժեշտ է, որ որոշակի սթայլեր կիրառվեն միայն կոնկրետ պայմանների պահպանման դեպքում, ապա մենք օգտագործում ենք @if դիրեկտիվը, որն վերադարձնում է ցանկացած արժեք, բացառությամբ false և null:

Դիտարկենք հետևյալ օրինակը.

styles.scss#main-button {
  @if 2 - 1 == 1 {
    color: green;
  }
  @if (2+3) < 3 {
    color: orange;
  }
  @if null {
    color: red;
  }
}

Կոմպիլյացիայի արդյունքը.

styles.css#main-button {
  color: green; 
}

Նաև @if-ից հետո պայման դնելիս կարելի է կիրառել մի քանի @else if և մեկ @else արտահայտություն։

styles.css$var: 20px;

a {
  @if $var == 10px {
    color: blue;
  } @else if $var == 25px {
    color: red;
  } @else if $var == 10px+10px {
    color: green;
  } @else {
    color: black;
  }
}

Հիմա նայենք styles.css ֆայլին.

styles.cssa {
  color: green;
}
Задание 1

Պատմեք, թե ինչ կլինի հետևյալ կոդի կոմպիլյացիայի արդյունքը.

styles.scss$size: 20px;
$font-size: 14px;

body {
  @if $size == $font-size {
    background-color: #7e7ed8;
  } @else if $size > $font-size {
    color: #f1bbbb;
  } @else {
    color: #000000;
  }
}
Задание 2

Պատմեք, թե ինչ կլինի հետևյալ կոդի կոմպիլյացիայի արդյունքը.

styles.scss$size: 20px;
$font-size: 14px;

.active {
  @if $size < $font-size {
    color: red;
  } @else if $size > $font-size {
    color: green;
  } @else {
    color: #000000;
  }
}

.not-active {
  @if $size == $font-size {
    display:block ;
  } @else {
    display: none;
  }
}