0
在mixin @if $param==x ... @else if $param==y
中,當x是以數字(1a)開頭的字符串,並且y爲純數字作爲x(1)中的前導數字時,條件落入錯誤塊。這是一個錯誤還是打算?當參數是例如:1a和1時,SASS條件爲:1和1
@mixin view($view) {
$bp_1a: 300px;
$bp_1: 600px;
@if $view == 1a {
@media only screen and (max-width: $bp_1a - 1) { @content; }
}
@else if $view == 1 {
@media only screen and (max-width: $bp_1 - 1) { @content; }
}
}
@include view(1) { max-width: 1; }
---> compiled css
@media only screen and (max-width: 299px) {
max-width: 1;
}
@mixin view($view) {
$bp_1a: 300px;
$bp_1: 600px;
@if $view == a1 {
@media only screen and (max-width: $bp_1a - 1) { @content; }
}
@else if $view == 1 {
@media only screen and (max-width: $bp_1 - 1) { @content; }
}
}
@include view(1) { max-width: 1; }
---> compiled css
@media only screen and (max-width: 599px) {
max-width: 1;
}
測試以下確定。 '@if $ view =='1a'{...} @include view('1a'){...}'這意味着在'@include view('1a')'你傳遞字符串'quote- 1-A-quote'。我會說「sass假定1a是有條件的」是比較奇怪的。 – 2014-11-06 09:06:55
是的,你是對的! – 2014-11-06 09:11:46