2011-06-04 12 views
6

क्या कोई तरीका है कि मैं आंशिक रूप से पारदर्शी छवि (या वास्तव में कुछ भी) एक्सएचटीएमएल और सीएसएस का उपयोग कर एक क्लिक करने योग्य क्षेत्र ओवरले कर सकता हूं?क्लिक करने योग्य क्षेत्र पर ओवरले - सीएसएस

+2

क्यों ओवरले क्लिक करने योग्य नहीं? –

+0

@Andre आपका सुझाव काम नहीं करता है अगर ओवरले केवल क्लिक करने योग्य क्षेत्र का हिस्सा ओवरले कर रहा है (कम से कम यदि आपके पास एक HTML5 क्लिक करने वाला कोई जटिल क्लिक करने योग्य क्षेत्र नहीं है)। –

+0

यह शानदार होगा अगर मैं ऐसा कर सकता हूं: 'अग्रभूमि: # 4297cc url (' overlay.png '); ':) –

उत्तर

7

@thirtydot आप एक समाधान कि केवल एक ही ब्राउज़र में काम करता है पता है मैं अभी भी यह यहां के लिए प्यार होता! हालांकि अधिक बेहतर समर्थन करते हैं।

आप pointer-events: none का उपयोग कर सकते हैं।

ब्राउज़र समर्थन: http://caniuse.com/pointer-events (IE10 को छोड़कर हर जगह काम करता है और पुराने)

http://jsfiddle.net/QC5Yw/

+0

विशेषता मेरे लिए नई है। मुझे कुछ नया सिखाने के लिए धन्यवाद! –

0

लपेटें ओवरले और एक क्लिक करने योग्य div में पृष्ठभूमि, और कुछ करने के लिए ओवरले की अपारदर्शिता विशेषता निर्धारित कम से कम 1.

http://www.w3schools.com/Css/css_image_transparency.asp

+0

यदि ओवरले केवल सामग्री का हिस्सा ओवरले कर रहा है तो ओवरले के नीचे नहीं की गई सामग्री आंशिक रूप से पारदर्शी दिखाई देगी, और यह वही नहीं है जो मैं चाहता हूं। –

+0

उन्होंने क्लिक करने योग्य div tanslucent बनाने के लिए नहीं कहा था; उन्होंने ओवरले ** ** div divucent के अंदर ओवरले बनाने के लिए कहा, इसलिए ओवरले दिखा रहा है और सबकुछ क्लिक करने योग्य है। हालांकि, यह अभी भी

-1

नहीं है, शीर्ष z- सूचकांक तत्व ध्यान केंद्रित करना होगा। लेकिन आप ओवरले परत पर एक और पारदर्शी शीर्ष परत बना सकते हैं, यह एक क्लिक करने योग्य होगा। तो:

z-index:1 Content element 
z-index:2 Mask/Overlay element 
z-index:3 Click element 

ऐसा इसलिए है क्योंकि ब्राउजर अंतर नहीं कर सकता कि आपका पीएनजी पारदर्शी कहां है। यह सिर्फ एक छवि के रूप में लेता है और इसमें पारदर्शी पिक्सेल होने पर फोकस नहीं पारित करेगा। Thats क्यों आप निश्चित और ऊंचाई के साथ एक पूरी तरह से खाली div डाल सकते हैं और यह क्लिक करने योग्य होगा।

+0

जैसा कि मैंने @Andre से कहा था कि आपका सुझाव काम नहीं करता है अगर ओवरले केवल क्लिक करने योग्य क्षेत्र का हिस्सा ओवरले कर रहा है (कम से कम यदि आपके पास एक HTML5 क्लिक करने वाला कोई जटिल क्लिक करने योग्य क्षेत्र नहीं है)। –

+0

ठीक है अगर क्लिक करने योग्य क्षेत्र एक आयताकार है और हमेशा समस्या को नहीं देखता है, तो मैं हमेशा एक ही स्थान पर रहता हूं। लेकिन यदि आप एक और आकार का क्षेत्र चाहते हैं या आप इसे पूरे फिल्म में ले जाना चाहते हैं, हां से, तो आप सही हैं। –

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