我將樣式表從LESS轉換爲SCSS,並且大部分情況都很順利,但有一個問題:我似乎無法獲得我的某個mixin的工作。想知道SCESS相當於LESS逃跑的是什麼?
基本上,我還沒有完全跳上了HTML5的行列,我仍然用圖像進行梯度瀏覽器兼容性。
我寫了一個PHP腳本動態生成的梯度(是的,緩存它們!),然後LESS需要鏈接到的是,當混入被稱爲照顧。
反正 我的老混入(來自LESS):
.verticalGradient(@startColor, @endColor, @height){
@tmpStartColor: escape("@{startColor}");
@tmpEndColor: escape("@{endColor}");
background: @endColor url('@{img_path}gradient/v/5px/@{height}/@{tmpStartColor}/@{tmpEndColor}.png') 0 0 repeat-x;
}
這是我到目前爲止有我新買的混入(SCSS):
@mixin verticalGradient($startColor, $endColor, $height){
background: $endColor url('#{$img_path}gradient/v/5px/' + $height + '/' + $startColor + '/' + $endColor + '.png') 0 0 repeat-x;
}
所以這裏的問題: 沒有被轉義,網址結束是這樣的:
/img/gradient/v/5px/25px/transparent/#ffe4c4.png
它應該是:
/img/gradient/v/5px/25px/transparent/%23ffe4c4.png
當然,因爲散列標籤,服務器最多隻能查看到透明/所以它沒有得到的顏色信息。
剝離哈希標籤是一個可接受的解決方案,如果這是可以做到(雖然我寧願只是逃避他們,因爲我是做之前),但我似乎無法找到任何方式做到這一點。
謝謝!
我覺得應該是薩斯::腳本:: String.new(ERB :: Util.url_encode(string.value)) ; –
絕對不是string.value - .value不返回任何數據。它雖然工作,但我有它。 –
它'絕對string.value!如果沒有.value的它返回字符串包容「,這是錯誤的。 –