दिलचस्प पोस्ट
पर्ल का `सिस्टम` प्रयोग करना अपलोड किए गए फ़ाइल को JSF में कैसे सहेजें PHP में अपलोड किए गए फ़ाइल प्रकार की जांच कैसे करें डिफ़ॉल्ट समापन बिंदु तत्व नहीं मिला ऑटो लेआउट के साथ UICollectionView स्व आकार देने वाले कक्ष एंड्रॉइड में फ़ाइल पथ से सामग्री uri प्राप्त करें एक्सएसएलटी: एक्सएमएल फाइलों को मर्ज करने का एक आसान तरीका Psql में, कुछ आज्ञाओं का कोई प्रभाव नहीं पड़ता है? क्वेरी सेलेक्टर, वाइल्डकार्ड तत्व मैच? डब्लूपीएफ में आवेदन कहाँ है? डूएन्ट्स () प्रमाणीकरण के लिए मत पूछने के लिए, Git क्लाइंट को कॉन्फ़िगर करें, जैसे कि विंडोज के लिए GitHub जावा के माध्यम से सीएमडी आज्ञाओं को कैसे कार्यान्वित करें इकाई संरचना द्वारा उत्पन्न एक कक्षा में डेटा एनोटेशन जोड़ें SQL सर्वर 2008 में पृष्ठ पर अंक लगाना कैसे करें () पर jQuery का उपयोग करते समय, क्यों उपयोग (दस्तावेज़) बनाम तत्व ही?

केवल सीएसएस के साथ छवि हॉवर पर काले पारदर्शी ओवरले?

जब भी छवि को केवल सीएसएस के साथ मव्हर हो रही है, मैं एक छवि में एक पारदर्शी काले ओवरले जोड़ने की कोशिश कर रहा हूं। क्या यह संभव है? मैंने यह कोशिश की:

http://jsfiddle.net/Zf5am/565/

लेकिन मैं div को दिखाने के लिए नहीं मिल सकता है।

<div class="image"> <img src="http://img.hiwab.com/css/NASAEarth-01.jpg" alt="" /> <div class="overlay" /> </div> .image { position: relative; border: 1px solid black; width: 200px; height: 200px; } .image img { max-width: 100%; max-height: 100%; } .overlay { position: absolute; top: 0; left: 0; display: none; background-color: red; z-index: 200; } .overlay:hover { display: block; } 

वेब के समाधान से एकत्रित समाधान "केवल सीएसएस के साथ छवि हॉवर पर काले पारदर्शी ओवरले?"

मैं ओवरले तत्व के स्थान पर छद्म तत्व का उपयोग करने का सुझाव देता हूं चूंकि छद्म तत्वों को संलग्न img तत्वों पर जोड़ा नहीं जा सकता है, फिर भी आपको img तत्व को हालांकि लपेटने की आवश्यकता होगी।

लाइव उदाहरण यहाँपाठ के साथ उदाहरण

 <div class="image"> <img src="http://img.hiwab.com/css/Sjsbh.jpg" alt="" /> </div> 

सीएसएस के लिए, .image तत्व पर वैकल्पिक आयाम सेट करें, और अपेक्षाकृत स्थिति। यदि आप एक उत्तरदायी छवि के लिए लक्ष्य कर रहे हैं, तो बस आयामों को छोड़ दें और यह अभी भी काम करेगा (उदाहरण) । यह सिर्फ ध्यान देने योग्य है कि आयाम आईएमजी तत्व के विरोध में मूल तत्व पर होना चाहिए, देखें ।

 .image { position: relative; width: 400px; height: 400px; } 

बच्चे के img तत्व को माता vertical-align:top पिता के 100% की चौड़ाई दें और डिफ़ॉल्ट बेसलाइन संरेखण समस्याओं को ठीक करने के लिए vertical-align:top जोड़ें।

 .image img { width: 100%; vertical-align: top; } 

छद्म तत्व के लिए, एक सामग्री मान सेट करें और पूरी तरह से स्थिति को .image तत्व से .image है। 100% की चौड़ाई / ऊंचाई यह सुनिश्चित करेगी कि यह अलग-अलग img आयामों के साथ काम करता है। यदि आप तत्व को संक्रमित करना चाहते हैं, तो 0 की एक अस्पष्टता सेट करें और संक्रमण गुण / मूल्य जोड़ें

 .image:after { content: '\A'; position: absolute; width: 100%; height:100%; top:0; left:0; background:rgba(0,0,0,0.6); opacity: 0; transition: all 1s; -webkit-transition: all 1s; } 

संक्रमण की सुविधा के लिए छद्म तत्व पर मँडरा करते समय 1 अस्पष्टता का उपयोग करें:

 .image:hover:after { opacity: 1; } 

अंत परिणाम यहाँ


यदि आप होवर पर पाठ जोड़ना चाहते हैं:

सरलतम दृष्टिकोण के लिए, बस छद्म तत्व की content मूल्य के रूप में टेक्स्ट जोड़ें:

उदाहरण यहाँ है

 .image:after { content: 'Here is some text..'; color: #fff; /* Other styling.. */ } 

यह सबसे उदाहरणों में काम करना चाहिए ; हालांकि, यदि आपके पास एक से अधिक img तत्व है, तो हो सकता है आप होवर पर एक ही टेक्स्ट को प्रदर्शित न करें। इसलिए आप data-* विशेषता में पाठ सेट कर सकते हैं और इसलिए प्रत्येक img तत्व के लिए अद्वितीय पाठ रख सकते हैं।

उदाहरण यहाँ है

 .image:after { content: attr(data-content); color: #fff; } 

attr(data-content) का एक content मूल्य के साथ, छद्म तत्व .image तत्व के data-content विशेषता से पाठ जोड़ता है:

 <div data-content="Text added on hover" class="image"> <img src="http://img.hiwab.com/css/Sjsbh.jpg" alt="" /> </div> 

आप कुछ स्टाइल जोड़ सकते हैं और ऐसा कुछ कर सकते हैं:

उदाहरण यहाँ है

उपरोक्त उदाहरण में :after छद्म तत्व काला ओवरले के रूप में कार्य करता है, जबकि :before छद्म तत्व से :before शीर्षक / पाठ है चूंकि तत्व एक-दूसरे से स्वतंत्र हैं, इसलिए आप अधिक अनुकूल स्थिति के लिए अलग स्टाइल का उपयोग कर सकते हैं।

 .image:after, .image:before { position: absolute; opacity: 0; transition: all 0.5s; -webkit-transition: all 0.5s; } .image:after { content: '\A'; width: 100%; height:100%; top: 0; left:0; background:rgba(0,0,0,0.6); } .image:before { content: attr(data-content); width: 100%; color: #fff; z-index: 1; bottom: 0; padding: 4px 10px; text-align: center; background: #f00; box-sizing: border-box; -moz-box-sizing:border-box; } .image:hover:after, .image:hover:before { opacity: 1; } 

CSS3 फिल्टर

यद्यपि यह सुविधा केवल वेबकिट में कार्यान्वित होती है, और इसमें ब्राउज़र संगतता नहीं है, लेकिन यह देखने पर ध्यान देने योग्य है:

 .image img { max-width: 100%; max-height: 100%; -webkit-transition: .2s all; } .image img:hover { -webkit-filter: brightness(50%); } 

JSFiddle डेमो

संदर्भ

SO पर इसी प्रकार के विषय

  • सीएसएस में इमेज ब्राइटनेस को कैसे घटाएं
  • एचटीएमएल / सीएसएस में ग्रेस्केल में एक छवि को परिवर्तित करें
  • CSS3 फिल्टर धुंध के साथ परिभाषित किनारों

आप करीब थे यह काम करेगा:

 .image { position: relative; border: 1px solid black; width: 200px; height: 200px; } .image img { max-width: 100%; max-height: 100%; } .overlay { position: absolute; top: 0; left: 0; right:0; bottom:0; display: none; background-color: rgba(0,0,0,0.5); } .image:hover .overlay { display: block; } 

आपको इसे डालने की जरूरत है :hover छवि पर :hover करें, और ठीक करें। .overlay को पूरी छवि को right:0; जोड़कर कवर करें right:0; और bottom:0

जेएसफ़िल्ड: http://jsfiddle.net/Zf5am/569/

यहां का एक अच्छा तरीका है: अतिरिक्त ओवरले डिव के बजाय छवि डिव पर: http://jsfiddle.net/zf5am/576/

 <div class="image"> <img src="http://img.hiwab.com/css/NASAEarth-01.jpg" alt="" /> </div> .image {position:relative; border:1px solid black; width:200px; height:200px;} .image img {max-width:100%; max-height:100%;} .image:hover:after {content:""; position:absolute; top:0; left:0; bottom:0; right:0; background-color: rgba(0,0,0,0.3);} 

.overlay ऊँचाई या चौड़ाई नहीं थी और कोई सामग्री नहीं थी, और आप display:none पर नहीं जा सकते display:none

मैं इसके बजाय div को एक ही आकार और स्थान देता है। .image और बदलाव पर होवर पर RGBA मूल्य।

http://jsfiddle.net/Zf5am/566/

 .image { position: absolute; border: 1px solid black; width: 200px; height: 200px; z-index:1;} .image img { max-width: 100%; max-height: 100%; } .overlay { position: absolute; top: 0; left: 0; background:rgba(255,0,0,0); z-index: 200; width:200px; height:200px; } .overlay:hover { background:rgba(255,0,0,.7); } 

आप छवि की अपारदर्शिता के साथ खेल सकते हैं और छवि का पृष्ठभूमि रंग काला करने के लिए सेट कर सकते हैं। छवि को पारदर्शी बनाकर, यह गहरा दिखाई देगा।

 <div class="image"> <img src="http://img.hiwab.com/css/NASAEarth-01.jpg" alt="" /> </div> 

सीएसएस:

 .image { position: relative; border: 1px solid black; width: 200px; height: 200px; background: black; } .image img { max-width: 100%; max-height: 100%; } .image img:hover { opacity: .5 } 

अन्य ब्राउज़र में भी यह काम करने के लिए आपको ब्राउज़र-विशिष्ट अपारदर्शिता भी सेट करने की आवश्यकता हो सकती है

मैं छवि के आकार के अपने ओवरले डिवा में एक न्यूनतम-ऊंचाई और न्यूनतम-चौड़ाई देगा, और होवर पर पृष्ठभूमि का रंग बदलूंगा

 .overlay { position: absolute; top: 0; left: 0; z-index: 200; min-height:200px; min-width:200px; background-color: none;} .overlay:hover { background-color: red;} 

देखें कि मैंने यहाँ क्या किया है: http://jsfiddle.net/dyarbrough93/c8wEC/

सबसे पहले, आपने ओवरले के आयामों को कभी भी सेट नहीं किया, जिसका अर्थ यह पहली जगह में प्रदर्शित नहीं हो रहा था। दूसरे, मैं सिर्फ ओवरले के z- इंडेक्स को बदलने की अनुशंसा करता हूं जब आप छवि पर हॉवर करते हैं आपकी ज़रूरतों के अनुरूप ओवरले के अस्पष्टता / रंग बदलें

 .image { position: relative; width: 200px; height: 200px;} .image img { max-width: 100%; max-height: 100%; } .overlay { position: absolute; top: 0; left: 0; background-color: gray; z-index: -10; width: 200px; height: 200px; opacity: 0.5} .image:hover .overlay { z-index: 10}