2012-12-06 9 views
9

मैं वर्तमान में क्रोम के लिए एक ओपन-सोर्स प्लगइन बना रहा हूं। यह बहुत दूर किया गया है - लेकिन कुछ बग्स हैं जिन्हें मैं हल करने की कोशिश कर रहा हूं। अनिवार्य रूप से, एक div (किसी पृष्ठ के HTML में इंजेक्शन) जो किसी भी और सभी वेबपृष्ठों में चलता है, शीर्षतम तत्व होना चाहिए ताकि यह दिखाई दे। यह जेड-इंडेक्स @ 99 9 द्वारा हासिल किया जाता है। हालांकि कुछ वेबपृष्ठों पर यह काम नहीं करता है!फोर्स div किसी भी और सभी वेबपृष्ठों के शीर्ष तत्व होने के लिए

मेरे सिर के ऊपर से, जब आप code.google.com पर लॉग इन होते हैं तो मेन्यू बार मेरे div को ओवरले करता है।

इंजेक्शन किए जाने पर मैं इसे सबसे ऊपर कैसे मजबूर करता हूं इससे कोई फर्क नहीं पड़ता कि कोई वेब डेवलपर क्या करता है?

#ezselected { 
    -webkit-transition: all .2s ease-in-out; 
    -moz-transition: all .2s ease-in-out; 
    -o-transition: all .2s ease-in-out; 
    -ms-transition: all .2s ease-in-out; 
    transition: all .2s ease-in-out; 
    position:absolute; 
    border-radius: 15px; 
    z-index: 999; 
    -webkit-box-shadow: 0px 0px 15px 5px rgba(255, 255, 100, .80); 
    -moz-box-shadow: 0px 0px 15px 5px rgba(255, 255, 100, .80); 
    /*box-shadow: 0px 0px 15px 5px rgba(255, 255, 100, .80);*/ 
    pointer-events:none; /* Make click-able through the DIV (for example, if it's on top of something with an event with kb) */ 
} 

पी एस, मैंने कोशिश की कोई फ़ायदा नहीं हुआ महत्वपूर्ण:

यहाँ div के लिए मेरे सीएसएस है।

धन्यवाद!

+5

अच्छी तरह से 'जेड-इंडेक्स: 99 9' स्पष्ट रूप से तत्व को अन्य तत्वों के शीर्ष पर नहीं डालने वाला है जो 'z-index: 1000' या उच्चतर है ... – nnnnnn

+1

बिल्कुल, यह सहायक हो सकता है: http://stackoverflow.com/questions/491052/mininum-and- अधिकतम-value-of-z-index – lbstr

उत्तर

15

आपका जेड-इंडेक्स 999 है। इस मामले में जिस तत्व को आप कवर करने का प्रयास कर रहे हैं उसका जेड-इंडेक्स (वर्ग के साथ एक तत्व .मेनूडिव संलग्न) में 1001 का जेड-इंडेक्स है। 999 किसी भी खिंचाव से नहीं है अधिकतम जेड-इंडेक्स वैल्यू ब्राउज़र अनुमति देता है, इसलिए आपका इंजेक्शन div अभी भी उच्च जेड-इंडेक्टेड तत्वों से नीचे होगा।

टिप्पणियां अपने प्रश्न प्राप्त में से एक के अनुसार, स्वीकार्य z- सूचकांक मूल्यों पर एक चर्चा और क्या अगर आप एक अधिकतम स्तर तत्व (आम तौर पर +२१४७४८३६४७) बनाने के लिए कोशिश कर रहे हैं का उपयोग करने के लिए Minimum and Maximum value of Z-INDEX देखते हैं।

आप जानते हैं कि आप कभी भी नहीं करना चाहते हैं इस तत्व कुछ भी से अधिक स्तरित जा करने के लिए करते हैं (चेतावनी: संभावित तत्वों को भी एक ही का उपयोग कर को छोड़कर), उपयोग:

z-index: 2147483647; 

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

क्रोम में एक अच्छी तरह से अच्छा अंतर्निहित निरीक्षण उपकरण है यदि आपके पास एक समान स्थिति है: आपको तत्वों का निरीक्षण करने, तत्व का निरीक्षण करने के लिए एक तत्व पर राइट क्लिक करें, और फिर दाएं प्रदर्शन क्षेत्र में "संगणित शैली" का विस्तार करें। ध्यान दें कि जेड-इंडेक्स ट्रैक करने के लिए मुश्किल हो सकता है (यहां तक ​​कि "विरासत में देखें" के साथ भी): आपको स्थिर इंटीरियर तत्वों के लिए उपयुक्त उचित div/etc चयनित होना चाहिए। जब तक आपको यह पता न लगे तब तक घोंसले से पीछे हटना जारी रखें।

+0

युक्तियों के लिए धन्यवाद। सैद्धांतिक सीमा के बारे में सुनने के लिए बहुत अच्छा है। दुर्भाग्य से - मेरी समस्या अभी भी हो रही है (कैश आदि साफ़ करना)। क्या कोई अन्य चीज है जो ज़ेड लेयरिंग को प्रभावित करती है और सबसे ऊपर क्या है? – aeharding

+0

परीक्षण करने के लिए, मैंने आपके सीएसएस को code.google.com/p/chromium पृष्ठ से जोड़ा है। मैंने फिर ezselected आईडी विशेषता का उपयोग करके एक div (शरीर में) जोड़ा और इसके अंदर कुछ टेस्ट टेक्स्ट डाला, लेकिन चौड़ाई और शीर्ष को ओवरराइड करने के लिए यह सुनिश्चित करने के लिए कि यह आंशिक रूप से शीर्ष दाएं मेनू क्षेत्र को ओवरलैप करेगा। आपके द्वारा शुरू की गई जेड-इंडेक्स के साथ, यह मेनू ड्रॉप डाउन के नीचे होगा। उन लोगों के लिए उपयोग किए गए जेड-इंडेक्स को ऊपर उठाने वाले (1001) ने इसे ठीक किया। आपके पास किसी अन्य बिंदु पर आपके सीएसएस ओवरराइडिंग में कुछ और हो सकता है, या यदि आपके पास अधिक स्थिर तत्व हैं जो गैर स्थैतिक स्थिति का उपयोग कर रहे हैं तो वे एक अलग जेड-इंडेक्स ले रहे हैं? – taswyn

+0

आपके स्वयं के तत्व का निरीक्षण करने की कोशिश करें और गणना की गई है कि गणना की गई जेड-इंडेक्स क्या है। – taswyn

संबंधित मुद्दे