दिलचस्प पोस्ट
मैं एक्सएमएल में एम्पर्सैंड से कैसे बच सकता हूं ताकि उन्हें एचटीएमएल में संस्थाओं के रूप में प्रस्तुत किया जाए? एक बैच फ़ाइल में सो रही है PrimeFaces पी का उपयोग कैसे करें: fileUpload? श्रोता विधि कभी लागू नहीं होती है या अपलोड की गई फ़ाइल शून्य / फेंकता है त्रुटि / उपयोगी नहीं है अगर isset $ _POST एक लिंक्ड सूची को सॉर्ट करें मर्ज करें सी में संदर्भ द्वारा डिफ़ॉल्ट रूप से पारित सरणियों या सूचियों हैं? क्या मैं एक iPhone उपयोगकर्ता को किसी एप्लिकेशन को अपग्रेड करने के लिए मजबूर कर सकता हूं? आप WideCharToMultiByte का उचित उपयोग कैसे करते हैं jQuery एक लिंक को अक्षम करें LINQ जहां अधिग्रहण और मामले को अनदेखा करें मैं PHP में कॉलबैक कैसे लागू करूं? अप्रयुक्त सीएसएस परिभाषाओं की पहचान कैसे करें क्यों ++ मुझे एल-वैल्यू माना जाता है, लेकिन आई ++ नहीं है? रनटाइम पर जावा एप्लिकेशन का असली पथ कैसे प्राप्त करें? रूबी में "प्रत्येक" बनाम "के लिए"

पारदर्शी तीर / त्रिकोण

मैं एक छवि पर एक पारदर्शी तीर बनाना चाहूंगा इस त्रिकोण को एक ब्लॉक में दांतेदार होना चाहिए और पृष्ठभूमि चित्र दिखाया जाना चाहिए।

वांछित आउटपुट:

पारदर्शी इंडेंट किए गए सीएसएस त्रिकोण

सीएसएस:

.barShow { background-color: #000; filter: alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5; } .barShow:before { top: 0%; left: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-top-color: #999; border-width: 20px; margin-left: -20px; } 

पारदर्शी CSS तीर को बिना रंग के पारदर्शी होना चाहिए।

वेब के समाधान से एकत्रित समाधान "पारदर्शी तीर / त्रिकोण"

सीएसएस के साथ छवि पर एक पारदर्शी तीर बनाने के कई तरीके हैं। मैं बताता हूं कि दोनों में मार्कअप को कम से कम करने के लिए छद्म तत्व शामिल हैं और एक ही आउटपुट हैं। आप इस उत्तर के अंत में एक एसवीजी दृष्टिकोण भी देख सकते हैं:

एक छवि पर पारदर्शी तीर

काले भाग पर पारदर्शी प्रभाव तीर के rgba() रंग के होते हैं, जो पारदर्शिता की अनुमति देते हैं। लेकिन अगर आप पसंद करते हैं तो आप छद्म तत्वों पर अस्पष्टता का उपयोग कर सकते हैं


1. स्काईएक्स ()

पारदर्शी तीर बनाने के लिए आप दो छद्म तत्वों पर CSS3 skewX() संपत्ति का उपयोग कर सकते हैं। इस दृष्टिकोण की मुख्य संपत्ति यह है कि पारदर्शी तीर उत्तरदायी हो सकती है, लेकिन यह आपको काला आकृति और सीमा के चारों ओर एक सीमा रखने की भी अनुमति देता है।

आकृति का उत्तरदायित्व padding-bottom संपत्ति के साथ बनाया गया है ताकि इसे पहलू अनुपात बनाए रखा जा सके (यह तकनीक यहां वर्णित है )।

डेमो

 .wrap { position: relative; overflow: hidden; width: 70%; margin: 0 auto; } .wrap img { width: 100%; height: auto; display: block; } .arrow { position: absolute; bottom: 0; width: 100%; padding-bottom: 3%; background-color: rgba(0, 0, 0, 0.8); } .arrow:before, .arrow:after { content: ''; position: absolute; bottom: 100%; width: 50%; padding-bottom: inherit; background-color: inherit; } .arrow:before { right: 50%; -ms-transform-origin: 100% 100%; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -ms-transform: skewX(45deg); -webkit-transform: skewX(45deg); transform: skewX(45deg); } .arrow:after { left: 50%; -ms-transform-origin: 0 100%; -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -ms-transform: skewX(-45deg); -webkit-transform: skewX(-45deg); transform: skewX(-45deg); } 
 <div class="wrap"> <img src="https://farm8.staticflickr.com/7187/6895047173_d4b1a0d798.jpg" /> <div class="arrow"></div> </div> 

सरल दृष्टिकोण

  • box-shadow और transform: rotate(); साथ छद्म तत्व का उपयोग करें transform: rotate();

  • overflow: hidden; जोड़ें overflow: hidden; मुख्य div में

स्निपेट:

 body { margin: 0; padding: 0; background: url(http://i.imgur.com/EinPKO3.jpg); background-size: cover; } div { height: 100px; width: 100%; position: absolute; bottom: 0; overflow: hidden; } div:before { position: absolute; top: -50px; left: calc(50% - 35px); content: ""; height: 50px; width: 50px; background: transparent; -webkit-transform-origin: 0% 100%; -moz-transform-origin: 0% 100%; -ms-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); box-shadow: 0 0 0 5000px rgba(0, 0, 0, 0.6); } 
 <div></div> 

यहां सीएसएस क्लिप-पथ का उपयोग कर एक समाधान है जो आवरण को ओवरफ्लो नहीं करता है।

 .wrap { position:relative; width:480px; height:270px; background-image:url(http://placehold.it/480x270); } .wrap:after { content:""; display:block; position:absolute; left:0; right:0; bottom:0; height:50px; background-color:rgba(0, 0, 0, 0.7); -webkit-clip-path:polygon(0 0, calc(50% - 30px) 0, 50% 50%, calc(50% + 30px) 0, 100% 0, 100% 100%, 0 100%); -moz-clip-path:polygon(0 0, calc(50% - 30px) 0, 50% 50%, calc(50% + 30px) 0, 100% 0, 100% 100%, 0 100%); clip-path:polygon(0 0, calc(50% - 30px) 0, 50% 50%, calc(50% + 30px) 0, 100% 0, 100% 100%, 0 100%); } 
 <div class="wrap"></div>