ไดเรกทีฟ @for ใน SASS

ด้วยไดเรกทีฟ @for สามารถแสดงสไตล์ที่กำหนด ในจำนวนที่ระบุโดย ตัวแปรตัวนับ รูปแบบการเขียนแรกของ @for มีลักษณะดังนี้:

scss@for $var from (begin) through (end)

ในกรณีนี้ ช่วงจะรวมค่า (begin) และ (end) อย่างชัดเจน ควรสังเกตว่า (begin) และ (end) - ต้องคืนค่า จำนวนเต็ม เนื่องจากกำหนด ทิศทางการนับ นั่นคือถ้า (begin) น้อยกว่า (end) ตัวนับจะเพิ่มขึ้น และตามลำดับ ถ้าในทางตรงกันข้าม - จะลดลง

พิจารณาการทำงานของไดเรกทีฟ @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 (begin) to (end)

โดยที่ค่าของ (end) จะถูกตัดออก

ลองนำตัวอย่างก่อนหน้ามาเขียน ในรูปแบบที่สอง:

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;
  }
}