null
值null是其类型中唯一的值。它表示缺少值,并且通常由函数返回以指示缺少结果。
scss
@use "sass:map";
@use "sass:string";
@debug string.index("Helvetica Neue", "Roboto"); // null
@debug map.get(("large": 20px), "small"); // null
@debug &; // null
sass
@use "sass:map"
@use "sass:string"
@debug string.index("Helvetica Neue", "Roboto") // null
@debug map.get(("large": 20px), "small") // null
@debug & // null
如果一个列表中包含null,则生成的CSS中将省略该null。
scss
$fonts: ("serif": "Helvetica Neue", "monospace": "Consolas");
h3 {
font: 18px bold map-get($fonts, "sans");
}
sass
$fonts: ("serif": "Helvetica Neue", "monospace": "Consolas")
h3
font: 18px bold map-get($fonts, "sans")
css
h3 {
font: 18px bold;
}
如果属性值为null,则该属性将完全省略。
scss
$fonts: ("serif": "Helvetica Neue", "monospace": "Consolas");
h3 {
font: {
size: 18px;
weight: bold;
family: map-get($fonts, "sans");
}
}
sass
$fonts: ("serif": "Helvetica Neue", "monospace": "Consolas")
h3
font:
size: 18px
weight: bold
family: map-get($fonts, "sans")
css
h3 {
font-size: 18px;
font-weight: bold;
}
null也是假值(falsey),这意味着对于任何接受布尔值的规则或运算符,它都被视为false。这使得将可以为null的值用作@if和if()的条件变得很容易。
scss
@mixin app-background($color) {
#{if(&, '&.app-background', '.app-background')} {
background-color: $color;
color: rgba(#fff, 0.75);
}
}
@include app-background(#036);
.sidebar {
@include app-background(#c6538c);
}
sass
@mixin app-background($color)
#{if(&, '&.app-background', '.app-background')}
background-color: $color
color: rgba(#fff, 0.75)
@include app-background(#036)
.sidebar
@include app-background(#c6538c)
css
.app-background {
background-color: #036;
color: rgba(255, 255, 255, 0.75);
}
.sidebar.app-background {
background-color: #c6538c;
color: rgba(255, 255, 255, 0.75);
}