दिलचस्प पोस्ट
स्विंग प्रतिपादन जेडीके 1.8 में टूट गया, जेडीके 1.7 में सही है मेरी प्रोग्राम दुर्घटना क्यों नहीं है जब मैं एक सरणी के अंत में लिखता हूं? MongoDB और "मिलती है" जावा का उपयोग करके सिस्टम कमांड्स (लिनक्स / बीएसडी) कैसे निष्पादित करें I उद्देश्य सी में कैरेट फोनगैप परियोजनाओं में ऐप आइकन कैसे जोड़ें? कैसे मैं एक जीआईटी भंडार में एक खाली निर्देशिका जोड़ सकते हैं? Windows XP पर जावा अधिकतम मेमोरी एसडी कार्ड से ईमेल भेजने की कोशिश कर रहा है I पायथन में फिर से फाइल खोजने के लिए एक ग्लोब () का प्रयोग करें? जावा में पूर्णांक की श्रेणी सी "इंट" 2 बाइट या 4 बाइट्स का आकार क्या है? अजगर बाध्य और अनबाउंड विधि ऑब्जेक्ट पाठ फ़ाइल की अंतिम पंक्ति को तुरंत पढ़ें? ASP.NET MVC: यूनिट परीक्षण नियंत्रक जो UrlHelper का उपयोग करते हैं

पारदर्शी खोखले या कट आउट सर्कल

क्या सीएसएस का इस्तेमाल करते हुए एक खोखले चक्र काटना संभव है?

यह हम सभी कर सकते हैं:

सामान्य सीएसएस सर्कल

लेकिन क्या हम ऐसा कर सकते हैं?

एक div में पारदर्शी खोखले चक्र

सर्कल खोखला और पारदर्शी होना चाहिए । इस प्रकार एक div पर एक ठोस रंग सर्कल डालने से समस्या हल नहीं होती है

वेब के समाधान से एकत्रित समाधान "पारदर्शी खोखले या कट आउट सर्कल"

आप 2 अलग तकनीकों के साथ एक पारदर्शी कट आउट सर्कल हासिल कर सकते हैं:

1.SVG

निम्नलिखित उदाहरण एक इनलाइन एसवीजी का उपयोग करते हैं पहला स्निपेट पारदर्शी सर्कल को काटने के लिए मुखौटा तत्व का उपयोग करता है और दूसरा खोखला चक्र पथ तत्व से बना है । चक्र 2 आर्क आज्ञाओं के साथ बनाया गया है:

मुखौटा तत्व के साथ:

 body{background:url('https://farm9.staticflickr.com/8760/17195790401_ceeeafcddb_o.jpg');background-size:cover;} 
 <svg viewbox="0 0 100 50" width="100%"> <defs> <mask id="mask" x="0" y="0" width="80" height="30"> <rect x="5" y="5" width="90" height="40" fill="#fff"/> <circle cx="50" cy="25" r="15" /> </mask> </defs> <rect x="0" y="0" width="100" height="50" mask="url(#mask)" fill-opacity="0.7"/> </svg> 

यह रेडियल ग्रेडिएंट पृष्ठभूमि और पॉइंटर-इवेंट्स (सर्कल लेयर के माध्यम से पीछे माउस इंटरैक्शन की अनुमति देने के लिए, जैसे पाठ चयन) का उपयोग करके किया जा सकता है। यहां एक डेमो पृष्ठ और एक स्क्रीनशॉट है:

यहां छवि विवरण दर्ज करें

और यह इसके लिए कोड होगा:

 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style type="text/css" media="screen"> body { margin: 0; padding: 0; } .underneath { padding: 0; margin: 265px 0 0 0; width: 600px; } .overlay { top: 0; left: 0; position: absolute; width: 600px; height: 600px; background: -moz-radial-gradient(transparent 150px, rgba(0,0,0,1) 150px); background: -webkit-radial-gradient(transparent 150px, rgba(0,0,0,1) 150px); background: -ms-radial-gradient(transparent 150px, rgba(0,0,0,1) 150px); background: -o-radial-gradient(transparent 150px, rgba(0,0,0,1) 150px); pointer-events: none; /* send mouse events beneath this layer */ } </style> </head> <body> <p class="underneath"> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </p> <div class="overlay"></div> </body> </html> 

वेब-टिकी के जवाब का जिक्र करते हुए मैं यह जोड़ना चाहूंगा कि आप हमेशा translate(-50%,-50%) साथ एक डिवेल केंद्र कर सकते हैं, इसलिए यह border प्रॉपर्टी का उपयोग करने में कोई समस्या नहीं होगी, जिसका बेहतर ब्राउज़र समर्थन है ।

 div{ position:relative; width:500px; height:200px; margin:0 auto; overflow:hidden; } div:after{ content:''; position:absolute; left:50%; top: 50%; transform: translate(-50%,-50%); border-radius:50%; width:150px; height:150px; border: 1000px solid rebeccapurple; } body{background: url('https://farm9.staticflickr.com/8760/17195790401_ceeeafcddb_o.jpg');background-size:cover;} 
 <div></div> 

"पायस न्याकुजो" से "विधि 1" के संबंध में, मामूली सुधार के साथ (नीचे देखें) यह काम करेगा मैं व्यक्तिगत रूप से सोचता हूं कि यह सबसे सरल समाधान है:

स्क्रीनशॉट

 <html> <!-- Assuming the stuff to mask is a 100 pixel square --> <style> .mask { position: absolute; top: -50px; /* minus half the div size */ left: -50px; /* minus half the div size */ width: 100px; /* the div size */ height: 100px; /* the div size */ background-color: transparent; border-radius: 100px; /* the div size */ border: 50px solid white; /* half the div size */ pointer-events: none; /* send mouse events beneath this layer */ } .stuff { position: absolute; width: 100px; /* the div size */ height: 100px; /* the div size */ overflow: hidden; /* hide the excess of the mask border */ background-color: #CCC; } </style> <body> <div class="stuff"> <div class="mask"></div> blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah </div> </body> </html> 

विधि 1- पसंदीदा

 <div class="circle"></div> 
 $radius: 50px; $thickness: 5px; .circle { width: $radius; height: $radius; background-color: transparent; border-radius: $radius; border: $thickness solid gray; } 

विधि 2

 <div class="circle"></div> 
 $radius: 50px; $thickness: 5px; .circle { width: $radius; height: $radius; } .circle::before, .circle::after { margin: -2px 0; } .circle::before { content: ''; display: inline-block; width: $radius; height: calc(#{$radius} / 2); background-color: transparent; border-top-left-radius: calc(#{$radius} / 2); border-top-right-radius: calc(#{$radius} / 2); border: $thickness solid gray; border-bottom: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .circle::after { content: ''; display: inline-block; width: $radius; height: calc(#{$radius} / 2); background-color: transparent; border-bottom-left-radius: calc(#{$radius} / 2); border-bottom-right-radius: calc(#{$radius} / 2); border: $thickness solid gray; border-top: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }