Saya ingin memiliki satu variabel yang berisi jalur root ke semua gambar saya di file CSS saya. Saya tidak tahu apakah ini mungkin dalam Sass murni (proyek web sebenarnya bukan RoR, jadi tidak dapat menggunakan asset_pipeline atau jazz mewah lainnya).
Inilah contoh saya yang tidak berhasil. Saat dikompilasi, ia menolak instance pertama dari variabel di properti url latar belakang mengatakan ( "Invalid CSS after "..site/background": expected ")"
).
Mendefinisikan fungsi untuk mengembalikan jalur:
//Vars
$assetPath : "/assets/images";
//Functions
@function get-path-to-assets($assetPath){
@return $assetPath;
}
Menggunakan fungsi:
body {
margin: 0 auto;
background: url($get-path-to-assets/site/background.jpg) repeat-x fixed 0 0;
width: 100%; }
Bantuan apa pun akan dihargai.
'#{$fontName}.ext', ..
Tidak perlu suatu fungsi:
Lihat dokumen interpolasi untuk detailnya.
sumber
Sedang mencari-cari jawaban untuk pertanyaan yang sama, tetapi saya pikir saya menemukan solusi yang lebih baik: http://blog.grayghostvisuals.com/compass/image-url/
Pada dasarnya, Anda dapat mengatur jalur gambar Anda di config.rb dan Anda menggunakan gambar-url () helper
sumber
Menambahkan sesuatu ke jawaban yang benar di atas. Saya menggunakan Netbeans IDE dan itu menunjukkan kesalahan saat menggunakan
url(#{$assetPath}/site/background.jpg)
metode ini. Itu hanya kesalahan netbeans dan tidak ada kesalahan dalam kompilasi sass. Tapi kesalahan ini memecah kode format di netbeans dan kode menjadi jelek. Tetapi ketika saya menggunakannya di dalam kutipan seperti di bawah ini, itu menunjukkan keajaiban!url("#{$assetPath}/site/background.jpg")
sumber
Kita bisa menggunakan jalur relatif daripada jalur absolut:
sumber