SASS의 @extend에서의 연쇄 확장
지시어 @extend는 또한
연쇄적(순차적) 확장을 지원합니다. 즉,
셀렉터는 다른 셀렉터에 의해 확장될 수 있고,
그 셀렉터는 차례로 세 번째 셀렉터에 의해
확장될 수 있습니다. 예를 들어:
예제를 살펴보겠습니다:
.warning {
border: 1px solid;
background-color: #ffd900;
}
.personalWarning {
@extend .warning;
border-width: 3px;
}
.systemWarning {
@extend .personalWarning;
position: center;
}
컴파일 결과에서 볼 수 있듯이,
클래스 .systemWarning을 가진 모든 요소는
클래스 .warning과
.personalWarning의 스타일도 가집니다:
.warning, .personalWarning, .systemWarning {
border: 1px solid;
background-color: #ffd900;
}
.personalWarning, .systemWarning {
border-width: 3px;
}
.systemWarning {
position: center;
}
다음 코드의 컴파일 결과가 어떻게 될지 설명해 보세요:
div {
font-size: 10px;
color: #181402;
}
.main-block {
@extend div;
border: 2px solid orange;
}
#warning-text {
@extend .main-block;
margin-top: 10px;
}
다음 코드의 컴파일 결과가 어떻게 될지 설명해 보세요:
p {
padding: 10px;
}
.main-text {
font-weight: 800px;
}
.card {
@extend p;
color: #021338;
}
.product-card {
@extend .card, .main-text;
font-size: 12px;
}
다음 코드의 컴파일 결과가 어떻게 될지 설명해 보세요:
p {
padding: 5px;
}
.main-text {
@extend p;
font-size: 14px;
}
.card {
@extend .main-text;
border: 1px solid black;
}
.product-card {
@extend .card;
background-color: #e1f1f1;
}