कैसे IE में पारभासी चयन से निपटने के लिए

समस्या

मानक select , एक अपारदर्शी दिवा के तहत किया जा रहा IE में पूरी तरह से दिखाई देता है। इस सुविधा के कारण, ड्रॉप-डाउन मेनू, पॉप-अप और पोजीशनिंग डिव से संबंधित अन्य आइटम बेहद गन्दे दिख सकते हैं।

समाधान

इस समस्या को हल करने के कई तरीके हैं। मैं उन्हें सरल से जटिल में सूचीबद्ध करूंगा:

1. छिपाएँ select
2. select शीर्ष पर iframe
3. खुद का select



अधिक जानकारी

1. छिपाएँ select
सबसे सरल समाधान है सेट (डिव के साथ सभी या इंटरसेक्टिंग) सीएसएस visibility: hidden; संपत्ति visibility: hidden;
बेशक, आपको सभी चयनों की तलाश करने और उनमें से प्रत्येक को एक संपत्ति में सेट करने की आवश्यकता नहीं है। यह एक सीएसएस वर्ग को परिभाषित करने के लिए पर्याप्त है:
.noselect select { visibility: hidden; }

और इस वर्ग को उस क्षेत्र में जोड़ें जिस पर div दिखाई देता है।
प्रदर्शन शैली display: none; इस मामले में यह उपयुक्त नहीं है - पृष्ठ लेआउट क्रॉल हो सकता है।

2. select शीर्ष पर iframe
शायद सबसे दिलचस्प समाधान। मेरे लिए एक पूरी तरह से समझ से बाहर कारण के लिए, आईई में चयन नहीं करता " iframe माध्यम से" के माध्यम से "तोड़"।
यानी यदि आप पहले एक iframe रखते हैं और उसके ऊपर div करते हैं, तो चयन सभी सभ्य ब्राउज़रों की तरह व्यवहार करेगा।
दुर्भाग्य से, यह समाधान पारभासी दिवस के लिए उपयुक्त नहीं है। (UPD: धन्यवाद भालू और विटहर )

3. खुद का select
कोई चयन नहीं - कोई समस्या नहीं। यानी चयनों के बजाय, आप उनकी नकल का उपयोग कर सकते हैं।
तैयार-तैयार स्क्रिप्ट हैं जो "ऑन द फ्लाई" सभी चयनों को पॉप-अप दिवस के आधार पर अपने एनालॉग के साथ बदल देती हैं। निश्चित रूप से, यह हमारी समस्या को हल करेगा।
हालाँकि, कुछ बिंदु हैं। चयन करते समय सबसे पहले, सभी स्क्रिप्ट पूर्ण कार्यक्षमता प्रदान नहीं करते हैं। दूसरे, चयनों में एक गैर-मानक रूप होगा, और यह हमेशा फायदेमंद नहीं होता है।

यदि आप अन्य व्यंजनों को जानते हैं - मैं उनके लिए बहुत आभारी रहूंगा।

LiveJournal में मूल

Source: https://habr.com/ru/post/In21913/


All Articles