使用SASS'if()
函数,是否可以检查属性值?例如。我希望button
默认有margin-right: 10px
。但是,如果按钮是float: right
,我希望保证金为margin-left: 10px
。SASS如果函数检查属性值
类似下面:
margin: if(float=="right" $margin-right $margin-left);
显然,上述不起作用(不然我也不会在这里写)。但是,这可能吗?
使用SASS'if()
函数,是否可以检查属性值?例如。我希望button
默认有margin-right: 10px
。但是,如果按钮是float: right
,我希望保证金为margin-left: 10px
。SASS如果函数检查属性值
类似下面:
margin: if(float=="right" $margin-right $margin-left);
显然,上述不起作用(不然我也不会在这里写)。但是,这可能吗?
这已经有一段时间,因为我没有任何的CSS的东西,所以这可能是少,但你可以尝试
.buttonClass {
@if $float == "right" {
$margin-left;
} @else {
$margin-right;
}
}
这混入可以为任何元素浴液和边距属性。
@mixin set-button($float: null) {
@if ($float == right) or ($float == left) {
float: $float;
}
@if ($float == right) {
margin-left: 10px;
} @else {
margin-right: 10px; // default value
}
}
.but-1 {
@include set-button(right);
}
.but-2 {
@include set-button();
}
.but-3 {
@include set-button(left);
}
.but-4 {
@include set-button(lol);
}
的CSS输出:
.but-1 {
float: right;
margin-left: 10px;
}
.but-2 {
margin-right: 10px;
}
.but-3 {
float: left;
margin-right: 10px;
}
.but-4 {
margin-right: 10px;
}
demo Sassmeister。
您可以使用占位符优化输出http://www.sassmeister.com/gist/849e8976c25219cdadf79785924837f9 – 3rdthemagical
在任何预处理器的帮助下,您无法获得css属性的值。但是你可以创建混搭,这将获得浮动值并设置保证金。 – 3rdthemagical