एक वेब डिज़ाइन के लिए मुझे हाल ही में दिया गया था जिसे मुझे एक निश्चित सर्कल इश्यू में टेक्स्ट की केंद्रित और अज्ञात मात्रा को हल करना था और मैंने सोचा कि मैं अन्य लोगों के लिए सर्कल / टेक्स्ट कॉम्बो में देख रहा हूं।
मुख्य मुद्दा जो मेरे पास था वह अक्सर सर्कल की सीमा को तोड़ देगा। इसे हल करने के लिए मैंने 4 divs का उपयोग किया। एक आयताकार कंटेनर जिसने सर्कल की अधिकतम (निश्चित) सीमाओं को निर्दिष्ट किया। इसके अंदर वह मंडल होगा जो सर्कल को उसकी चौड़ाई और ऊंचाई के साथ 100% तक खींचता है ताकि माता-पिता का आकार बदलकर वास्तविक सर्कल का आकार बदल जाए। इसके अंदर एक और आयताकार div होगा, जो% s का उपयोग करते हुए, एक पाठ सीमा क्षेत्र बनाएगा जिससे किसी भी पाठ को वृत्त (सबसे अधिक भाग के लिए) से रोका जा सके और फिर पाठ और ऊर्ध्वाधर केंद्र के लिए वास्तविक div होगा।
यह कोड के रूप में अधिक समझ में आता है:
/* Main Container - this controls the size of the circle */
.circle_container
{
width : 128px;
height : 128px;
margin : 0;
padding : 0;
/* border : 1px solid red; */
}
/* Circle Main draws the actual circle */
.circle_main
{
width : 100%;
height : 100%;
border-radius : 50%;
border : 2px solid black; /* can alter thickness and colour of circle on this line */
margin : 0;
padding : 0;
}
/* Circle Text Container - constrains text area to within the circle */
.circle_text_container
{
/* area constraints */
width : 70%;
height : 70%;
max-width : 70%;
max-height : 70%;
margin : 0;
padding : 0;
/* some position nudging to center the text area */
position : relative;
left : 15%;
top : 15%;
/* preserve 3d prevents blurring sometimes caused by the text centering in the next class */
transform-style : preserve-3d;
/*border : 1px solid green;*/
}
/* Circle Text - the appearance of the text within the circle plus vertical centering */
.circle_text
{
/* change font/size/etc here */
font: 11px "Tahoma", Arial, Serif;
text-align : center;
/* vertical centering technique */
position : relative;
top : 50%;
transform : translateY(-50%);
}
<div class="circle_container">
<div class="circle_main">
<div class="circle_text_container">
<div class = "circle_text">
Here is an example of some text in my circle.
</div>
</div>
</div>
</div>
आप कन्टेनर्स पर बॉर्डर के रंगों को देख सकते हैं कि यह कैसे बनता है।
जिन चीजों के बारे में पता होना चाहिए: यदि आप बहुत अधिक पाठ डालते हैं या शब्दों / अटूट पाठ का उपयोग करते हैं, तो आप अभी भी वृत्त की सीमा को तोड़ सकते हैं। यह अभी भी पूरी तरह से अज्ञात पाठ (जैसे कि उपयोगकर्ता इनपुट) के लिए एक अच्छा फिट नहीं है, लेकिन सबसे अच्छा काम करता है जब आप अस्पष्ट रूप से जानते हैं कि आपको अपने सर्कल के आकार और फ़ॉन्ट आकार को स्टोर करने के लिए सबसे बड़ी मात्रा में पाठ की आवश्यकता होगी। आप पाठ कंटेनर div को किसी भी अतिप्रवाह को छिपाने के लिए सेट कर सकते हैं, लेकिन यह सिर्फ "टूटा हुआ" दिख सकता है और वास्तव में आपके डिजाइन में अधिकतम आकार के लिए लेखांकन के लिए कोई प्रतिस्थापन नहीं है।
आशा है कि यह किसी के लिए उपयोगी है! HTML / CSS मेरा मुख्य अनुशासन नहीं है इसलिए मुझे यकीन है कि इस पर सुधार किया जा सकता है!