ค่าต่าง ๆ หลายค่าในคำสั่ง @each ใน SASS

คำสั่ง @each สามารถ นำมาใช้เพื่อสร้าง รายการสไตล์ที่ซับซ้อนมากขึ้นได้ เพื่อทำเช่นนี้เรากำหนดตัวแปรหลายตัว และในรายการขององค์ประกอบ ให้เพิ่มค่าต่าง ๆ เพิ่มเติม

ลองดูตัวอย่างต่อไปนี้:

styles.scss@each $picture, $color, $padding in
  (winter, blue, 10px),
  (spring, green, 12px),
  (summer, yellow, 14px),
  (autumn, brown, 16px) {
    img.#{$picture} {
      background-image: url('/images/#{$picture}.png');
      border: 4px solid $color;
      padding: $padding ;
    }
  }

ผลลัพธ์การคอมไพล์:

styles.cssimg .winter {
  background-image: url("/images/winter.png");
  border: 4px solid blue;
  padding: 10px;
}

img .spring {
  background-image: url("/images/spring.png");
  border: 4px solid green;
  padding: 12px;
}

img .summer {
  background-image: url("/images/summer.png");
  border: 4px solid yellow;
  padding: 14px;
}

img .autumn {
  background-image: url("/images/autumn.png");
  border: 4px solid brown;
  padding: 16px;
}

นอกจากนี้การใช้การกำหนดค่าหลายตัว สามารถเพิ่มคู่ของค่าลงในรายการได้:

styles.scss@each $elem, $font-size in (div: 14px, p: 12px) {
  #{elem} {
    font-size: $font-size;
  }
}

ตอนนี้เรามาดูผลลัพธ์ที่ได้:

styles.cssdiv {
  font-size: 14px;
}

p {
  font-size: 12px;
}
Задание 1

บอกหน่อยว่าผลลัพธ์การคอมไพล์ของโค้ดต่อไปนี้จะเป็นอย่างไร:

styles.scss@each $elem, $size, $color in 
(navbar: 14px blue, link: 12px red, span: 10px green) {
  #{$elem} {
      font-size: $size;
      color: $color;
  }
}
Задание 2

เปลี่ยนเงื่อนไขของงานก่อนหน้า เพื่อให้องค์ประกอบ navbar, link และ span มี ขีดเส้นใต้ข้อความแบบต่ำ ขีดประ และขีดคลื่น ตามลำดับ