การขยายหลายรายการเมื่อใช้ @extend ใน SASS
คุณลักษณะที่น่าสนใจอีกอย่างของการใช้คำสั่ง
@extend คือสามารถขยายตัวเลือกเดียวได้
มากกว่าหนึ่งตัวเลือก กล่าวคือมันจะ
สืบทอดสไตล์ทั้งหมด:
พิจารณาตัวอย่าง:
.warning {
border: 1px solid;
background-color: rgb(255, 217, 0);
}
.info {
font-size: 14px;
}
.personalWarning {
@extend .warning;
@extend .info;
border-width: 3px;
}
จากการคอมไพล์ เราจะได้:
.warning, .personalWarning {
border: 1px solid;
background-color: #ffd900;
}
.info, .personalWarning {
font-size: 14px;
}
.personalWarning {
border-width: 3px;
}
จำเป็นต้องรู้ว่าการขยายหลายรายการ
สามารถเขียนในรูปแบบรายการตัวเลือกที่คั่นด้วย
ลูกน้ำ ตัวอย่างเช่น @extend .warning, .info;
หมายความถึงสิ่งเดียวกันกับ @extend .warning; @extend .info;
บอกผลลัพธ์ของการคอมไพล์ โค้ดต่อไปนี้:
link {
font-size: 12px;
background-color: #ffd900;
}
button:active {
color: red;
}
.active-link {
@extend link;
@extend button:active;
text-decoration: wavy;
}
บอกผลลัพธ์ของการคอมไพล์ โค้ดต่อไปนี้:
div {
font-size: 10px;
color: #181402;
}
.main-block {
border: 2px solid orange;
}
p {
padding: 5px;
}
#warning-text {
@extend div, .main-block, p;
margin-top: 10px;
}