ไดเรกทีฟ @if ใน SASS
หากเราต้องการให้สไตล์ที่กำหนดไว้บางส่วน
ถูกนำมาใช้เฉพาะเมื่อตรงตามเงื่อนไขที่เจาะจง
เราก็จะใช้ไดเรกทีฟ
@if ซึ่งจะส่งคืนค่าใดๆ ก็ได้
ยกเว้น false และ null:
ลองพิจารณาตัวอย่างต่อไปนี้:
#main-button {
@if 2 - 1 == 1 {
color: green;
}
@if (2+3) < 3 {
color: orange;
}
@if null {
color: red;
}
}
ผลลัพธ์จากการคอมไพล์:
#main-button {
color: green;
}
นอกจากนี้ หลังจากเงื่อนไขของ
@if
เราสามารถใช้ @else if หลายๆ ตัว
และนิพจน์ @else หนึ่งตัวได้
$var: 20px;
a {
@if $var == 10px {
color: blue;
} @else if $var == 25px {
color: red;
} @else if $var == 10px+10px {
color: green;
} @else {
color: black;
}
}
ตอนนี้เรามาดูที่ไฟล์ styles.css:
a {
color: green;
}
บอกหน่อยว่าผลลัพธ์การคอมไพล์ ของโค้ดต่อไปนี้จะเป็นอย่างไร:
$size: 20px;
$font-size: 14px;
body {
@if $size == $font-size {
background-color: #7e7ed8;
} @else if $size > $font-size {
color: #f1bbbb;
} @else {
color: #000000;
}
}
บอกหน่อยว่าผลลัพธ์การคอมไพล์ ของโค้ดต่อไปนี้จะเป็นอย่างไร:
$size: 20px;
$font-size: 14px;
.active {
@if $size < $font-size {
color: red;
} @else if $size > $font-size {
color: green;
} @else {
color: #000000;
}
}
.not-active {
@if $size == $font-size {
display:block ;
} @else {
display: none;
}
}