जवाबों:
..
मूल निर्देशिका को इंगित करने के लिए उपयोग करें :
background-image: url('../images/bg.png');
यहां आपको रिश्तेदार फ़ाइल पथों के बारे में जानना होगा:
/
रूट निर्देशिका में रिटर्न के साथ शुरू होता है और वहां शुरू होता है
के साथ शुरू ../
चाल एक निर्देशिका पिछड़े और शुरू होता है वहाँ
के साथ शुरू ../../
चाल दो निर्देशिका पिछड़े और शुरू होता है वहाँ (और इतने पर ...)
आगे बढ़ने के लिए , बस पहले उप निर्देशिका से शुरू करें और आगे बढ़ते रहें।
उपयोग करें ../
:
background-image: url('../images/bg.png');
आप जितनी बार चाहें उतनी बार उपयोग कर सकते हैं, उदाहरण के लिए ../../images/
या विभिन्न पदों पर भी, उदाहरण के लिए ../images/../images/../images/
( ../images/
पाठ्यक्रम के अनुसार)
Chrome में जब आप कुछ HTTP सर्वर से किसी वेबसाइट को पूर्ण पथ (जैसे /images/sth.png
) और कुछ ऊपरी स्तर निर्देशिका (जैसे ../images/sth.png
) कार्य के सापेक्ष पथ से लोड करते हैं।
परंतु!
जब आप (Chrome में!) लोकल फाइल सिस्टम से एक HTML डॉक्यूमेंट लोड करते हैं, तो आप डायरेक्ट्री को डायरेक्ट डायरेक्टरी से ऊपर नहीं ले जा सकते। यानी आप ../something/something.sth
सापेक्ष पथ को पूर्ण या किसी अन्य चीज़ तक नहीं पहुंचा सकते हैं और न ही बदल पाएंगे।
../
ठीक काम करता है - या कम से कम इस विशिष्ट मामले में ठीक काम करता है!
मान लें कि आपके पास निम्न फ़ाइल संरचना है:
-css
--index.css
-images
--image1.png
--image2.png
--image3.png
CSS में आप image1
उदाहरण के लिए, लाइन का उपयोग कर सकते हैं ../images/image1.png
।
नोट : यदि आप Chrome का उपयोग कर रहे हैं, तो यह काम नहीं कर सकता है और आपको एक त्रुटि मिलेगी कि फ़ाइल नहीं मिल सकती है। मुझे एक ही समस्या थी, इसलिए मैंने क्रोम से पूरे कैश इतिहास को हटा दिया और यह काम कर गया।
यदि आप किसी फ़ोल्डर में स्टाइलशीट / चित्र संग्रहीत करते हैं, ताकि कई वेबसाइटें उनका उपयोग कर सकें, या आप उसी सर्वर पर किसी अन्य साइट पर उन्हीं फ़ाइलों का फिर से उपयोग करना चाहते हैं, तो मैंने पाया है कि मेरा ब्राउज़र / अपाचे मुझे अंदर जाने की अनुमति नहीं देता है। वेबसाइट रूट URL के ऊपर कोई भी मूल फ़ोल्डर। यह सुरक्षा कारणों से स्पष्ट लगता है - किसी निर्दिष्ट वेब फ़ोल्डर के अलावा किसी भी जगह सर्वर पर ब्राउज़ करने में सक्षम नहीं होना चाहिए।
उदाहरण के लिए। काम नहीं करता है: www.mywebsite.com/../images
वर्कअराउंड के रूप में, मैं साइमलिंक का उपयोग करता हूं:
Www.mywebsite.com की निर्देशिका पर जाएं कमांड ln -s ../images चित्र चलाएँ
अब www.mywebsite.com/images www.mywebsite.com/../images को इंगित करेगा