दिलचस्प पोस्ट
फेसबुक से लाइव लाइव टोकन प्राप्त करें SQL अद्यतन top1 पंक्ति क्वेरी जावास्क्रिप्ट: गतिशील रूप से नेस्टेड ऑब्जेक्ट्स को एक ऑरेंज द्वारा दिए गए ऑब्जेक्ट नामों का उपयोग करने के लिए कैसे करें एक्सएमएल दस्तावेज़ीकरण में जेनेरिक वर्गों और विधियों को कैसे संदर्भित किया जाए onKeyPress बनाम। onKeyUp और onKeyDown निर्धारित करें कि कोई ऐप मौजूद है और iOS पर उस ऐप का लॉन्च करता है कैसे PHP कोड अतुल्यकालिक चलाने के लिए क्या कोई जावास्क्रिप्ट में डॉलर का संकेत समझा सकता है? कोवेरिएंस और इलिस्ट दो बिंदुओं द्वारा परिभाषित लाइन के बीच कोण की गणना करना कुकी की मौजूदगी में कुकी की जांच करें सॉकेट.ओ 1.0 में कक्ष की क्लाइंट सूची कैसे प्राप्त करें अपरिभाषित व्यवहार और अनुक्रम अंक Windows में node.js मॉड्यूल के लिए डिफ़ॉल्ट वैश्विक स्थापना निर्देशिका बदलें? मैं डब्ल्यूपीएफ में डीपीआई कैसे प्राप्त करूं?

सीमा के किनारे पर लिंक के साथ एक चक्र कैसे बनाएं

मैं इस तरह एक चक्र बनाने की कोशिश कर रहा हूं। मैं बेला में इसे बनाने में सक्षम था, लेकिन समस्या यह है कि मुझे एक नारंगी पक्ष की एक लिंक की आवश्यकता है और मैं इसे सीमाओं के साथ नहीं कर सकता। अगर कोई इस के साथ मेरी मदद कर सकता है तो मैं वास्तव में आभारी होंगे।

#circle { width: 200px; height: 200px; border-radius: 50%; background: green; } #incircle { width: 100px; height: 100px; border-radius: 50%; border: 50px dotted orange; } 
 <div id="circle"> <div id="incircle"></div> </div> 

वेब के समाधान से एकत्रित समाधान "सीमा के किनारे पर लिंक के साथ एक चक्र कैसे बनाएं"

खंडों के साथ एक सर्कल बनाने की चाबी यह है कि सर्कल के साथ अंक मिलें जो कि समन्वय के रूप में एसवीजी path तत्वों में इस्तेमाल किया जाएगा। यदि हम कोण जानते हैं, तो एक वृत्त पर अंक ढूँढना आसानी से त्रिकोणमितीय समीकरणों का उपयोग करके किया जा सकता है

एक्स निर्देशांक = बिंदु के त्रिज्या * कॉस (रेडियन में कोण) + एक्स केंद्र बिंदु के समन्वय

वाई बिंदु के समन्वय = वृत्त के त्रिज्या * पाप (रेडियन में कोण) + वाई केंद्र बिंदु के समन्वय

रेडियंस में कोण = डिग्री में कोण * मठ। पीआई / 180

एंगल्स नंबर पर निर्भर करते हैं। उन खंडों का जो हमें बनाना है सामान्य सूत्र है (360 / संख्या खंड)। इसलिए 6 खंडों के साथ एक सर्कल बनाने के लिए, प्रत्येक सेगमेंट द्वारा कवर कोण 60 डिग्री होगा पहला सेगमेंट 0 से 60 डिग्री तक, 60 से 120 डिग्री से दूसरे और इतने पर होगा।


6 खंडों के साथ मंडल का डेमो:

नीचे तालिका बताती है कि कैसे एक चक्र के लिए 6 खंडों के साथ अंकों की गणना की जाती है (जहां चक्र का त्रिज्या 50 है, केंद्र बिंदु 55,55 है):

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

एक बार अंक की गणना की जाती है, path कोडिंग करना सरल होता है पथ केंद्र बिंदु से शुरू होना चाहिए और अंत में (जो 50,50 है) केंद्र बिंदु से, हमें सबसे पहले बिंदु से एक रेखा खींचना चाहिए और वहां से एक चाप को प्रतिबिंबित करना चाहिए। नीचे एक नमूना path कैसा दिखेगा:

 <path d='M55,55 L105,55 A50,50 0 0,1 80,98.30z' /> 
 svg { height: 220px; width: 220px; } path { fill: transparent; stroke: black; } 
 <svg viewBox='0 0 110 110'> <path d='M55,55 L105,55 A50,50 0 0,1 80,98.30z' /> <path d='M55,55 L80,98.30 A50,50 0 0,1 30,98.30z' /> <path d='M55,55 L30,98.30 A50,50 0 0,1 5,55z' /> <path d='M55,55 L5,55 A50,50 0 0,1 30,11.69z' /> <path d='M55,55 L30,11.69 A50,50 0 0,1 80,11.69z' /> <path d='M55,55 L80,11.69 A50,50 0 0,1 105,55z' /> </svg> 

आप लिंक के लिए वर्गों और svg एंकर (एचटीएमएल एंकर टैग के समतुल्य) टैग बनाने के लिए svg के arc इस्तेमाल कर सकते हैं।

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

 .frag { fill: #FFA500; stroke: #FFFFFF; transition: fill 0.3s ; } .center { fill: #008000; } a:hover .frag { fill: #FFC722; } text { font-size: 17px; fill: #FFFFFF; } 
 <svg width="200" height="200" viewBox="-2 -2 202 203" shape-rendering="geometricPrecision"> <a xlink:href="#"><path class="frag" d="M100,100 v-100 a100,100 1 0,1 86.6025,50" /><text x="135" y="42.5" text-anchor="middle">1</text></a> <a xlink:href="#"><path class="frag" d="M100,100 l86.6025,-50 a100,100 1 0,1 0,100" /><text x="170" y="105" text-anchor="middle">2</text></a> <a xlink:href="#"><path class="frag" d="M100,100 l86.6025,50 a100,100 1 0,1 -86.6025,50" /><text x="135" y="170" text-anchor="middle">3</text></a> <a xlink:href="#"><path class="frag" d="M100,100 v100 a100,100 1 0,1 -86.6025,-50" /><text x="65" y="170" text-anchor="middle">4</text></a> <a xlink:href="#"><path class="frag" d="M100,100 l-86.6025,50 a100,100 1 0,1 0,-100" /><text x="27.5" y="105" text-anchor="middle">5</text></a> <a xlink:href="#"><path class="frag" d="M100,100 l-86.6025,-50 a100,100 1 0,1 86.0025,-50" /><text x="65" y="42.5" text-anchor="middle">6</text></a> <a xlink:href="#"><path class="center" d="M100,100 v-50 a50,50 1 0,1 0,100 a50,50 1 0,1 0,-100" /></a> </svg> 

सीएसएस-केवल दृष्टिकोण

नोट: छद्म तत्वों का इस्तेमाल करके मार्कअप को काफी कम किया जा सकता है, जिसे मैंने अभी प्रयोग नहीं किया है।

आप एसवीजी का उपयोग कर सकते हैं, लेकिन यह केवल सीएसएस और एचटीएमएल के साथ किया जा सकता है

मैंने जो किया वह 12 अर्धवृत्त ( overflow: hidden; जोड़कर overflow: hidden; मूल पैरेंट कंटेनर के लिए) बना रहा था। मैंने फिर से 6 अर्धवृत्त के अलग-अलग समूह बनाए।

केंद्र के कोणों को प्रत्येक 360/12 ( 360/12 ) होना चाहिए। इसे प्राप्त करने के लिए, हमें अर्धविराम को उनके मूल चक्र के केंद्र से घुमाएंगे। हम ऐसा transform-origin: 50% 100%; साथ कर सकते हैं transform-origin: 50% 100%;

अब आपको सिर्फ डिजाइन को पूरा करने के लिए 6 अर्धवृत्त के दूसरे समूह को घुमाए / फ्लिप करना होगा।

अंत में, डिजाइन को पूरा करने के लिए एक केंद्रीय हरी सर्कल जोड़ें।

 .cont, #bag { height:200px; width:400px; overflow:hidden; } #one, #two, #three, #four, #five, #six { height:400px; width:400px; border-radius:200px; } #bag > div { position:relative; transform-origin:50% 100%; } #one, #three, #five { background-color:orange; } #one:hover, #three:hover, #five:hover { background-color:gold; } #two, #four, #six { background-color:forestgreen; } #bag > :nth-child(2) { top:-200px; -webkit-transform:rotate(30deg); transform:rotate(30deg); } #bag > :nth-child(3) { top:-400px; transform:rotate(60deg); transform:rotate(60deg); } #bag > div:nth-child(4) { top:-600px; -webkit-transform:rotate(90deg); transform:rotate(90deg); } #bag > :nth-child(5) { top:-800px; -webkit-transform:rotate(120deg); transform:rotate(120deg); } #bag > :nth-child(6) { top:-1000px; -webkit-transform:rotate(150deg); transform:rotate(150deg); } #bag:nth-of-type(2){ transform:scale(-1); transform-origin:50% 50%; } #green-center { height:200px; width:200px; border-radius:50%; background-color:forestgreen; position: relative; top:-300px; left:100px; } 
 <div id="bag"> <div class="cont"> <a href="http://example.com/"><div id="one"></div></a> </div> <div class="cont"> <div id="two">ABC</div> </div> <div class="cont"> <a href="http://example.com/"><div id="three"></div></a> </div> <div class="cont"> <div id="four"></div> </div> <div class="cont"> <a href="http://example.com/"><div id="five"></div></a> </div> <div class="cont"> <div id="six"></div> </div> </div> <div id="bag"> <div class="cont"> <a href="http://example.com/"><div id="one"></div></a> </div> <div class="cont"> <div id="two"></div> </div> <div class="cont"> <a href="http://example.com/"><div id="three"></div></a> </div> <div class="cont"> <div id="four"></div> </div> <div class="cont"> <a href="http://example.com/"><div id="five"></div></a> </div> <div class="cont"> <div id="six"></div> </div> </div> <div id="green-center"> 

आप एक मानचित्र का उपयोग कर सकते हैं, जैसे:

 #circle{ position:relative; width:200px; height:200px; border-radius:50%; background:green; } #mappinglink{ position:absolute; top:0px; left:0px; } #incircle{ width:100px; height:100px; border-radius:50%; border:50px dotted orange; border-spacing: 10px 50px; } 
 <div id="circle"> <div id="incircle"></div> <img id="mappinglink" width="200" height="200" usemap="#mymap" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"/> <map name="mymap"> <area alt="" title="" href="#" shape="poly" coords="29,28,71,3,84,50,64,64" style="outline:none;" target="_self" /> <area alt="" title="" href="#" shape="poly" coords="148,12,122,55,142,73,184,46" style="outline:none;" target="_self" /> <area alt="" title="" href="#" shape="poly" coords="149,96,199,93,192,142,146,121" style="outline:none;" target="_self" /> <area alt="" title="" href="#" shape="poly" coords="105,149,128,141,159,180,112,200" style="outline:none;" target="_self" /> <area alt="" title="" href="#" shape="poly" coords="59,133,79,147,65,193,23,164" style="outline:none;" target="_self" /> <area alt="" title="" href="#" shape="poly" coords="48,87,50,108,3,120,4,71" style="outline:none;" target="_self" /> </map> </div> 

इस शुद्ध सीएसएस की कोशिश करो:

 *{box-sizing: border-box;padding: 0; margin: 0} nav,nav:before{ border-radius:50%; background:green } nav{ width:200px; height:200px; margin: 40px auto; position: relative; overflow: hidden } nav:before{ content: ''; position:absolute; top: 50%; left: 50%; width: 100px; height: 100px; z-index: 2; transform: translate3d(-50%,-50%,0) } #incircle{ width:100px; height:100px; border-radius:50%; border:50px dotted orange; } nav a{ position: absolute; z-index: 1; cursor: pointer; width: 0px; height: 0px; border-top: 30px solid transparent; border-bottom: 30px solid transparent } nav a:nth-child(3),nav a:nth-child(4){ left: 70px; border-left: 30px solid transparent; border-right: 30px solid transparent } nav a:first-child{ top: 70px; left: 0; border-left: 100px solid orange } nav a:nth-child(2){ left: 20px; border-left: 100px solid orange; top: 20px; transform: rotateZ(60deg); } nav a:nth-child(3){ transform: rotateZ(30deg); top: 0px; left: 86px; border-top: 100px solid orange; } nav a:nth-child(4){ left: 46px; border-bottom: 100px solid orange; bottom: -4px; transform: rotateZ(28deg); } nav a:nth-child(5){ right: 24px; border-right: 100px solid orange; bottom: 20px; transform: rotateZ(60deg); } nav a:last-child{ top: 70px; right: 0; border-right: 100px solid orange } 
 <nav> <a></a> <a></a> <a></a> <a></a> <a></a> <a></a> </nav> 

यहाँ एक बेला है

एचटीएमएल

 <div id="circle"> <a id='left' href='left'></a> <a id='right' href='right'></a> <div id="mid"></div> </div> 

सीएसएस

 #circle{ width: 200px; height: 200px; border-radius: 50%; position: relative; overflow: hidden; } a { height: 100%; width: 49%; background: orange; display: block; } #left { float: left; } #right { float: right; } #mid { border-radius: 50%; background: green; border: 4px solid white; position: absolute; display: block; height: 50%; width: 50%; left: 24%; top: 24%; } 

यह क्षुद्र रूप से खड़ी रूप से विभाजित करके 2 के बजाय 4 भागों में विस्तारित किया जा सकता है हालांकि मैं आपको राफेल जे एस जैसी कुछ चीज़ों को देखने की सलाह देता हूं तुम भी धोखा और एक पाई चार्ट का उपयोग कर सकते हैं!

मैं शुद्ध सीएसएस उपयोग करने की कोशिश कर रहा था, और इस के साथ आया था:

 .wrap { height: 200px; width: 200px; background: red; border-radius: 50%; position: relative; overflow: hidden; } .wrap:after { position: absolute; height: 50%; width: 50%; content: ""; border-radius: 50%; background: green; left: 25%; top: 25%; } .slice { height: 0; width: 0; border-left: 200px solid blue; border-top: 200px solid transparent; position: absolute; top: -100px; left: -100px; } .part2 { border-left: 200px solid red; border-top: 200px solid transparent; transform: rotate(180deg); top: -100px; left: -100px; } .part3 { border-left: 200px solid pink; border-top: 200px solid transparent; transform: rotate(90deg); top: -100px; left: 100px; } 
 <div class="wrap"> <a href="#" class="slice"></a> <div class="slice part2"></div> <a href="#" class="slice part3"></a> </div> 

यह एसवीजी के लिए एक नौकरी की तरह लगता है इसका अपना स्वयं का <a> तत्व है जिसमें मनमाना आकृतियों को शामिल किया जा सकता है