Jawaban:
Gunakan ..
untuk menunjukkan direktori induk:
background-image: url('../images/bg.png');
Berikut ini semua yang perlu Anda ketahui tentang jalur file relatif:
Dimulai dengan /
kembali ke direktori root dan mulai dari sana
Dimulai dengan ../
memindahkan satu direktori ke belakang dan mulai dari sana
Dimulai dengan ../../
memindahkan dua direktori ke belakang dan mulai dari sana (dan seterusnya ...)
Untuk maju , cukup mulai dengan sub direktori pertama dan terus maju.
Klik di sini untuk lebih jelasnya!
Penggunaan ../
:
background-image: url('../images/bg.png');
Anda dapat menggunakannya sesering yang Anda inginkan, misalnya ../../images/
atau bahkan pada posisi yang berbeda, misalnya ../images/../images/../images/
(sama seperti ../images/
tentunya)
Di Chrome ketika Anda memuat situs web dari beberapa server HTTP, jalur absolut (mis. /images/sth.png
) Dan jalur relatif ke beberapa direktori tingkat atas (mis. ../images/sth.png
) Berfungsi.
Tapi!
Saat Anda memuat (di Chrome!) Dokumen HTML dari sistem file lokal Anda tidak dapat mengakses direktori di atas direktori saat ini. Yaitu Anda tidak dapat mengakses ../something/something.sth
dan mengubah jalur relatif menjadi absolut atau apa pun tidak akan membantu.
../
berfungsi dengan baik - atau setidaknya berfungsi dengan baik dalam kasus khusus ini!
Misalkan Anda memiliki struktur file berikut:
-css
--index.css
-images
--image1.png
--image2.png
--image3.png
Di CSS Anda dapat mengakses image1
, misalnya, menggunakan baris ../images/image1.png
.
CATATAN : Jika Anda menggunakan Chrome, itu mungkin tidak berfungsi dan Anda akan mendapatkan kesalahan bahwa file tidak dapat ditemukan. Saya memiliki masalah yang sama, jadi saya baru saja menghapus seluruh riwayat cache dari chrome dan berhasil.
Jika Anda menyimpan lembar gaya / gambar dalam sebuah folder sehingga beberapa situs web dapat menggunakannya, atau Anda ingin menggunakan kembali file yang sama di situs lain pada server yang sama, saya menemukan bahwa browser / Apache saya tidak mengizinkan saya untuk pergi ke folder induk apa pun di atas URL root situs web. Hal ini tampaknya jelas karena alasan keamanan - seseorang tidak boleh menjelajahi server di mana pun selain folder web yang ditentukan.
Misalnya. tidak berfungsi: www.mywebsite.com/../images
Sebagai solusinya, saya menggunakan Symlinks:
Masuk ke direktori www.mywebsite.com Jalankan perintah ln -s ../images images
Sekarang www.mywebsite.com/images akan mengarah ke www.mywebsite.com/../images