2009-03-26 7 views
5

मैं एक मानचित्र के साथ एक आवेदन पर काम कर रहा हूं और इसमें कुछ सामान के साथ कोने में एक div है। छोटी विंडो में कुछ जानकारी लाने के लिए आप इस मानचित्र पर क्लिक कर सकते हैं। खिड़की, कुछ मामलों में, कोने में div द्वारा कवर किया जा रहा है।क्या ज़ेड-इंडेक्स एक तत्व को दूसरे के ऊपर स्थित करने के लिए मजबूर करने का एकमात्र तरीका है, यदि नहीं तो अन्य विधियां क्या हैं?

मुझे विपरीत प्रभाव (विंडो कवर div) चाहिए। मुझे लगा कि यह एक जेड-इंडेक्स मुद्दा होगा लेकिन मैं इसे काम करने में असमर्थ हूं। यह आईई 7 के साथ है और थोड़ा सा पढ़ने से ऐसा लगता है कि जेड-इंडेक्स तब तक काम नहीं करेगा जब तक यह किसी तत्व के अंदर न हो।

तत्वों को सही काम करने के लिए जेड-इंडेक्स प्राप्त करने के लिए ठीक से स्थित होने लगते हैं लेकिन मुझे बहुत भाग्य है। मैंने फायरबग के माध्यम से स्टाइल जोड़ने के साथ चारों ओर खेला है लेकिन कुछ भी बदलने के लिए कोई भाग्य नहीं है। खिड़की वास्तव में केवल दो divs एक बिल्कुल स्थित एक और इसके अंदर एक रिश्तेदार है।

क्या जेड-इंडेक्स एकमात्र चीज है जो यहां समस्या हो सकती है या क्या मुझे कुछ और पता नहीं है?

क्या प्रभाव मुझे प्राप्त करने के लिए कोई और तरीका है? मैं jquery या कुछ के माध्यम से div को आसानी से छुपा नहीं सकता क्योंकि इसका हिस्सा मानचित्र पर खुलने वाली खिड़की के पीछे से दिखाना चाहिए।

+0

यदि आप अपने एचटीएमएल और सीएसएस के उदाहरण प्रदान कर सकते हैं तो यह अधिक उपयोगी हो सकता है ताकि कुछ उपयोगकर्ता किसी भी समस्या का बेहतर निदान कर सकें। – TheTXI

उत्तर

8

आप स्टैकिंग संदर्भ बग

http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html

IE में हर तैनात div मार रहे हैं एक नई स्टैकिंग संदर्भ बना सकते हैं और स्टैकिंग संदर्भ दूसरों के ऊपर आने के लिए विभिन्न से z- सूचकांक कर पाएगा।

समाधान यह है कि आप जिस खिड़की को पेड़ में शीर्ष पर ले जाना चाहते हैं (उदाहरण के लिए शरीर में) और जेड-इंडेक्स वैल्यू ग्रेटर जो आपकी खिड़की को कवर करने वाले दूसरे डिवीजन के सभी माता-पिता के जेड-इंडेक्स से ज़्यादा है।

व्यापक जानकारी यहाँ समस्या को समझने के लिए: http://richa.avasthi.name/blogs/tepumpkin/2008/01/11/ie7-lessons-learned/

+0

मुझे लगता है कि हर दिन कुछ नया सीखो। धन्यवाद। – Carter

1

स्थिति और नकारात्मक हाशिए ओवरलैप है कि मैं के बारे में पता तत्व प्राप्त करने के लिए एक ही रास्ता है। जेड-इंडेक्स का उपयोग ब्राउज़र को स्पष्ट रूप से बताए जाने के लिए किया जाता है कि तत्वों को कैसे लेयर किया जाए।

आपकी समस्या के अनुसार, IE को कंटेनर तत्वों और/या तत्वों की आवश्यकता होती है जिन्हें आप position:relative; या position:absolute; के लिए ज़ेड-इंडेक्स के लिए ठीक से काम करने के लिए ओवरलैपिंग कर रहे हैं। जब कोई स्थिति कहता है तो वे आम तौर पर position संपत्ति को सीएसएस में सेट करते हैं। साथ ही जब ज़ेड-इंडेक्स के साथ काम करना सुनिश्चित करें कि अतिव्यापी तत्व एक दूसरे के साथ समान स्तर पर हैं।

आशा इस

0

में मदद करता है अन्य उत्तर, position:relative और position:absolute रीसेट "स्टैकिंग संदर्भ" IE में द्वारा संकेत दिया है।

0

यदि आप एक आलसी उत्तर चाहते हैं तो आप जावास्क्रिप्ट का उपयोग कर सकते हैं और जब आप मानचित्र पर क्लिक करते हैं तो div को छुपा सकते हैं, और जब आप मानचित्र को बंद करते हैं तो इसे दिखाएं।

आपको पृष्ठ पर किसी भी चयन के साथ ऐसा करना होगा क्योंकि यानी वे जेड-इंडेक्स के साथ काम नहीं करते हैं।

0

मैं कुछ दिनों पहले इसी मुद्दे में भाग गया और डार्को जेड द्वारा सुझाए गए नकारात्मक मार्जिन को बहुत अच्छा काम मिला।(मेरा प्रतिनिधि अभी तक डार्को के लिए मतदान करने के लिए पर्याप्त नहीं है)

मैंने इस पर एक त्वरित पोस्ट लिखा था।

http://www.swards.net/2009/03/layering-html-elements-without-using.html

1

केवल, अपने HTML फ़ाइल में तत्वों का क्रम व्यवस्था क्रम का निर्धारण करेगा। यदि आप एक तत्व को दूसरे से ऊपर रखना चाहते हैं तो सुनिश्चित करें कि यह बाद में HTML में आता है।

आप केवल उसी तत्व वाले तत्वों पर स्टैकिंग ऑर्डर को स्वैप कर सकते हैं। उदाहरण के लिए यदि आपके पास दो divs हैं और उनमें दोनों में 3 छवियां हैं, तो आप दूसरे div से छवियों को पहले div से छवियों के नीचे नहीं जा सकते हैं।

यदि आपको जटिल स्टैकिंग ऑर्डर की आवश्यकता है तो आपको अपने एचटीएमएल की आगे बढ़ने की जरूरत है।