Mở rộng nhiều lần khi sử dụng @extend trong SASS

Một đặc điểm thú vị khác khi sử dụng directive @extend là có thể mở rộng một selector đơn lẻ bằng nhiều hơn một selector, tức là nó sẽ kế thừa tất cả các kiểu:

Hãy xem xét một ví dụ:

style.scss.warning {
  border: 1px solid;
  background-color: rgb(255, 217, 0);
}
.info {
  font-size: 14px;
}
.personalWarning {
  @extend .warning;
  @extend .info;
  border-width: 3px;
}

Kết quả sau khi biên dịch chúng ta sẽ có:

style.css.warning, .personalWarning {
  border: 1px solid;
  background-color: #ffd900;
}
.info, .personalWarning {
  font-size: 14px;
}
.personalWarning {
  border-width: 3px;
}

Cần biết rằng việc mở rộng nhiều lần có thể được viết dưới dạng danh sách các selector được phân cách bằng dấu phẩy. Ví dụ: @extend .warning, .info; có nghĩa tương tự như @extend .warning; @extend .info;

Задание 1

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

styles.scsslink {
  font-size: 12px;
  background-color: #ffd900;
}
button:active {
  color: red;
}
.active-link {
  @extend link;
  @extend button:active;
  text-decoration: wavy;
}
Задание 2

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

styles.scssdiv {
  font-size: 10px;
  color: #181402;
}

.main-block {
  border: 2px solid orange;
}

p {
  padding: 5px;
}

#warning-text {
  @extend div, .main-block, p;
  margin-top: 10px;
}