SASSにおける@extendのチェーン拡張

ディレクティブ @extend はまた、 チェーン(連鎖的)拡張、すなわち、 セレクタが別のセレクタによって拡張され、 それがさらに3番目のセレクタによって 拡張されることもサポートしています。 例:

例を考察しましょう:

style.scss.warning {
  border: 1px solid;
  background-color: #ffd900;
}
.personalWarning {
  @extend .warning;
  border-width: 3px;
}
.systemWarning {
  @extend .personalWarning;
  position: center;
}

コンパイル結果からわかるように、 クラス .systemWarning を持つすべての要素は また、クラス .warning と .personalWarning のスタイルも持っています:

style.css.warning, .personalWarning, .systemWarning {
  border: 1px solid;
  background-color: #ffd900;
}
.personalWarning, .systemWarning {
  border-width: 3px;
}
.systemWarning {
  position: center;
}
Задание 1

次のコードのコンパイル結果がどのようになるか説明してください:

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

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

#warning-text {
  @extend .main-block;
  margin-top: 10px;
}   
Задание 2

次のコードのコンパイル結果がどのようになるか説明してください:

styles.scssp {
  padding: 10px;
}

.main-text {
  font-weight: 800px;
}

.card {
  @extend p;
  color: #021338;
}

.product-card {
  @extend .card, .main-text;
  font-size: 12px;
}
Задание 3

次のコードのコンパイル結果がどのようになるか説明してください:

styles.scssp {
  padding: 5px;
}

.main-text {
  @extend p;
  font-size: 14px;
}

.card {
  @extend .main-text;
  border: 1px solid black;
}

.product-card {
  @extend .card;
  background-color: #e1f1f1;
}