Sass 3.3 及以上版本
在mixin中,没有。如果您愿意扩展,您可以非常接近:
$orange: lighten(orange, 10%);
%button {
border: 1px solid $orange;
background: $orange;
padding:0;
height:27px;
text-transform: uppercase;
color:white;
display:block;
}
a%button {
padding-top:10px 10px 0 10px;
}
button.my_button {
@extend %button;
}
a.my_button {
@extend %button;
}
编译为:
button.my_button, a.my_button {
border: 1px solid #ffb733;
background: #ffb733;
padding: 0;
height: 27px;
text-transform: uppercase;
color: white;
display: block;
}
a.my_button {
padding-top: 10px 10px 0 10px;
}
Sass 3.4 及更新版本
从 3.4 开始,我们可以检查和操作选择器。
$orange: lighten(orange, 10%);
@mixin button {
border: 1px solid $orange;
background: $orange;
padding:0;
height:27px;
text-transform: uppercase;
color:white;
display:block;
@if is-superselector('a', &) {
padding-top: 10px 10px 0 10px;
}
}
button {
@include button;
}
b a.foo {
@include button;
}
输出:
button {
border: 1px solid #ffb733;
background: #ffb733;
padding: 0;
height: 27px;
text-transform: uppercase;
color: white;
display: block;
}
b a.foo {
border: 1px solid #ffb733;
background: #ffb733;
padding: 0;
height: 27px;
text-transform: uppercase;
color: white;
display: block;
padding-top: 10px 10px 0 10px;
}