Tham số có tên của mixin trong SASS

Có thể chỉ định các tham số có tên cho mixin. Hãy xem xét điều này với ví dụ sau:

styles.scss@mixin active($color) {
  border: {
    color: $color;
    style: solid;
  }
}
p {
  @include active($color: orange);
}
div {
  @include active($color: green);
}

Kết quả biên dịch:

styles.cssp {
  border-color: orange;
  border-style: solid;
}
div {
  border-color: green;
  border-style: solid;
}

Ngoài ra, có thể truyền giá trị mặc định cho các tham số vào mixin:

styles.scss@mixin active($color,  $width: 2px) {
  border: {
    color: $color;
    width: $width;
    style: dotted;
  }
}
p {
  @include active(yellow);
}
div {
  @include active(yellow, 4px);
}

Sau khi biên dịch chúng ta sẽ thấy:

styles.cssp {
  border-color: yellow;
  border-width: 2px;
  border-style: dotted;
}
div {
  border-color: yellow;
  border-width: 4px;
  border-style: dotted;
}
Задание 1

Hãy cho biết kết quả biên dịch của đoạn mã sau sẽ là gì:

styles.scss@mixin super-button($color, $background-color, $border-radius) {
  color: $color;
  background-color: $background-color;
  border-radius: $border-radius;
}
.active-button {
  @include super-button($color: white,  $background-color: red, $border-radius: 2px);
}          
Задание 2

Hãy cho biết kết quả biên dịch của đoạn mã sau sẽ là gì:

styles.scss@mixin super-button($color, $background-color, $border-radius: 5px) {
  color: $color;
  background-color: $background-color;
  border-radius: $border-radius;
}
.active-button {
  @include super-button($color: white,  $background-color: red);
}
Задание 3

Hãy cho biết kết quả biên dịch của đoạn mã sau sẽ là gì:

styles.scss@mixin super-button($color, $background-color: orange, $border-radius: 5px) {
  color: $color;
  background-color: $background-color;
  border-radius: $border-radius;
}
.active-button {
  @include super-button($color: white, $border-radius:3px);
}