ไดเรกทีฟ @for ใน SASS
ด้วยไดเรกทีฟ @for
สามารถแสดงสไตล์ที่กำหนด
ในจำนวนที่ระบุโดย
ตัวแปรตัวนับ
รูปแบบการเขียนแรกของ @for มีลักษณะดังนี้:
@for $var from (begin) through (end)
ในกรณีนี้ ช่วงจะรวมค่า (begin) และ (end) อย่างชัดเจน ควรสังเกตว่า (begin) และ (end) - ต้องคืนค่า จำนวนเต็ม เนื่องจากกำหนด ทิศทางการนับ นั่นคือถ้า (begin) น้อยกว่า (end) ตัวนับจะเพิ่มขึ้น และตามลำดับ ถ้าในทางตรงกันข้าม - จะลดลง
พิจารณาการทำงานของไดเรกทีฟ @for
ในรูปแบบไวยากรณ์แรก
ในตัวอย่างต่อไปนี้:
@for $count from 1 through 5 {
.li-#{$count} {
width: $count + px;
}
}
ผลลัพธ์การคอมไพล์:
.li-1 {
width: 1px;
}
.li-2 {
width: 2px;
}
.li-3 {
width: 3px;
}
.li-4 {
width: 4px;
}
.li-5 {
width: 5px;
}
ในรูปแบบที่สอง การเขียน มีลักษณะดังนี้:
@for $var from (begin) to (end)
โดยที่ค่าของ (end) จะถูกตัดออก
ลองนำตัวอย่างก่อนหน้ามาเขียน ในรูปแบบที่สอง:
@for $count from 1 to 5 {
.li-#{$count} {
width: $count + px;
}
}
ตอนนี้ให้สังเกต โค้ดที่ได้:
.li-1 {
width: 1px;
}
.li-2 {
width: 2px;
}
.li-3 {
width: 3px;
}
.li-4 {
width: 4px;
}
บอกหน่อยว่าผลลัพธ์การคอมไพล์ ของโค้ดต่อไปนี้จะเป็นอย่างไร:
@for $var from 5 through 1 {
li-#{$var} {
padding: 10 * $var + px;
}
}
บอกหน่อยว่าผลลัพธ์การคอมไพล์ ของโค้ดต่อไปนี้จะเป็นอย่างไร:
@for $var from 1 to 3 {
.navbar-link-#{$var} {
color: blue;
width: 10px * $var;
}
}