SASS에서 @extend 적용 시 다중 확장

디렉티브 @extend를 적용할 때의 또 다른 흥미로운 특징은 단일 선택자를 둘 이상의 선택자로 확장할 수 있다는 것입니다. 즉, 해당 선택자는 모든 스타일을 상속받게 됩니다:

예제를 살펴보겠습니다:

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

컴파일 결과는 다음과 같습니다:

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

다중 확장은 쉼표로 구분된 선택자 목록 형태로 작성할 수도 있다는 점을 알아야 합니다. 예를 들어, @extend .warning, .info;는 @extend .warning; @extend .info;와 동일한 의미입니다.

Задание 1

다음 코드의 컴파일 결과가 어떻게 될지 설명해 보세요:

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

다음 코드의 컴파일 결과가 어떻게 될지 설명해 보세요:

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