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

@for դիրեկտիվի միջոցով կարելի է արտածել որոշակի ստիլեր հաշվիչ-փոփոխականով նշված քանակով: @for-ի գրառման առաջին տարբերակն ունի հետևյալ տեսքը.

scss@for $var from (սկիզբ) through (վերջ)

Այս դեպքում միջակայքում խիստ ներառված են (սկիզբ) և (վերջ) արժեքները: Հարկ է ուշադրություն դարձնել, որ (սկիզբ) և (վերջ)-ը պետք է վերադարձնեն ամբողջ թվեր, քանի որ դրանք սահմանում են հաշվման ուղղությունը, այսինքն, եթե (սկիզբ)-ը փոքր է (վերջ)-ից, ապա հաշվիչը կաճի, և համապատասխանաբար, եթե հակառակը՝ կնվազի:

Դիտարկենք @for դիրեկտիվի աշխատանքը սինտաքսիսի առաջին տարբերակով հետևյալ օրինակում.

styles.scss@for $count from 1 through 5 {
  .li-#{$count} {
    width: $count + px;
  }
}

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

styles.css.li-1 {
  width: 1px; 
}
.li-2 {
  width: 2px; 
}
.li-3 {
  width: 3px; 
}
.li-4 {
  width: 4px; 
}
.li-5 {
  width: 5px; 
}

Երկրորդ տարբերակում գրառումն ունի հետևյալ տեսքը.

scss@for $var from (սկիզբ) to (վերջ)

Ընդ որում, այստեղ (վերջ) արժեքը բացառվում է:

Վերցնենք նախորդ օրինակը և գրենք այն երկրորդ տարբերակով.

styles.scss@for $count from 1 to 5 {
  .li-#{$count} {
    width: $count + px;
  }
}

Այժմ ուշադրություն դարձրեք ստացված կոդին.

styles.css.li-1 {
  width: 1px; 
}

.li-2 {
  width: 2px; 
}

.li-3 {
  width: 3px; 
}

.li-4 {
  width: 4px; 
}
Задание 1

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

styles.scss@for $var from 5 through 1 {
  li-#{$var} {
    padding: 10 * $var + px;
  }
}
Задание 2

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

styles.scss@for $var from 1 to 3 {
  .navbar-link-#{$var} {
    color: blue;
    width: 10px * $var;
  }
}