我對SASS比較陌生,我試圖將下面的代碼轉換成SASS mixin,以防止必須全部寫入。誰能幫我?我一直在爲它工作兩天,似乎無法讓它工作,但就像我說的,我是SASS的新手。這裏是普通的CSS我想改變到一個mixin:SASS使用Alpha的文字陰影
text-shadow:
1px 1px 0 rgba(0,0,0,0.50),
2px 2px 0 rgba(0,0,0,0.49),
3px 3px 0 rgba(0,0,0,0.48),
4px 4px 0 rgba(0,0,0,0.47),
5px 5px 0 rgba(0,0,0,0.46),
6px 6px 0 rgba(0,0,0,0.45),
7px 7px 0 rgba(0,0,0,0.44),
8px 8px 0 rgba(0,0,0,0.43)
[...and so on to about 50]
我能得到一個mixin,將生成文本陰影的深度,但是當我嘗試調整阿爾法,我得到的,因爲警告值超出1和透明度需要的0和1之間
的值,這裏是我試過的代碼(編譯罰款,但輸出什麼):
@mixin render-shadow($depth){
$longshadow:();
@for $i from 1 through $depth {
@while $alpha > 0 {
$alpha: 0.50;
$longshadow: $longshadow, $i*1px $i*1px 0 rgba(0,0,0,$alpha);
}
}
text-shadow: $longshadow;
}
我也試過:
@mixin render-shadow($depth){
$longshadow:();
@for $i from 1 through $depth {
$longshadow: $longshadow, $i*1px $i*1px 0 rgba(0,0,0,($i - 0.01));
}
text-shadow: $longshadow;
}
這給了我這個錯誤:
Syntax error: Alpha channel 1.99 must be between 0 and 1 for `rgba'
和:
@mixin render-shadow($depth){
$longshadow:();
@for $i from 1 through $depth {
$alpha: 0.50;
$longshadow: $longshadow, $i*1px $i*1px 0 rgba(0,0,0,($alpha - 0.01));
}
text-shadow: $longshadow;
}
而致的影子,但在恆定的0.49不透明的,而不是增量爲0
我不明白這個問題。我在這裏沒有看到一個mixin,也沒有看到0和1之外的值。 – cimmanon 2014-08-27 15:54:20
這是一個很慢的CSS代碼。我想將它轉換爲混音,所以我不必輸入全部內容。 – MDc 2014-08-27 16:28:01
那麼你有沒有試過任何東西? SO不是代碼寫作服務,你應該展示你已經嘗試過的以及爲什麼它沒有工作......你知道,表明你已經做出了努力。 – cimmanon 2014-08-27 16:44:31