0
我想將兩個值傳遞給函數「sprite-chooser()」,以便我可以選擇在淺色或深色背景中加載哪個精靈。在我加載精靈之前,我需要檢查它是第一個UI - 所以我有兩個@if語句和內嵌的@if語句,但得到一個錯誤說:語法錯誤:函數精靈選擇器沒有@return完成。如果語句嵌套在函數中,則嵌套Scss
@function sprite-chooser($ui-for, $bg-color) { @if ($ui-for == "ui-1") { @if (lightness($bg-color) > 60 and $ui-for == "ui-1") { @return #{$sprite-dark-ui-1}; } @else { @return #{$sprite-light-ui-1}; } } @else if ($ui-for == "ui-2") { @if (lightness($bg-color) > 60 and $ui-for == "ui-2") { @return #{$sprite-dark-ui-2}; } @else { @return #{$sprite-light-ui-2}; } } }
$background-color: #fff; .class-name { background: url(sprite-chooser("ui-1", $background-color)) 0 0 no-repeat; }
感謝扎克 - 我試過了,現在只是直接跳到別的。 – moonunit7
@ moonunit7這是因爲既沒有輸入以前的if語句,這意味着在您的設置中出現了錯誤。這解決了你所問的錯誤,而不是爲什麼'if'不起作用的原因(:我必須看看你是如何調用函數來幫助解決爲什麼它沒有輸入'if'語句 –
我這樣稱呼它: $ background-color:#fff; .class-name { background:url(sprite-chooser(「ui-1」,$ background-color))0 0 no-repeat; } – moonunit7