2017-06-16 50 views
9

के बीच असंगत अंतर मुझे अजीब अंतरंग समस्याएं मिलीं। संख्या और प्रत्येक पाठ समानांतर है। और 1, 4, 7 और 'प्रत्येक' पाठ के बीच अलग अंतर है। हम इस समस्या को कैसे ठीक कर सकते हैं या इसे ठीक नहीं किया जा सकता है। मैंने किसी भी अंतर और अतिरिक्त सीएसएस गुणों का उपयोग नहीं किया है।संख्या और पाठ

@import url('https://fonts.googleapis.com/css?family=Spectral'); 
 
@import url('https://fonts.googleapis.com/css?family=Open+Sans|Spectral'); 
 

 
.bigger { 
 
    font-size: 40px; 
 
} 
 

 
p { 
 
    font-family: 'Open Sans', sans-serif; 
 
}
<p> 
 
    <span class="bigger">81</span> 
 
    <small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">84</span> 
 
    <small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">87</span> 
 
    <small>each</small> 
 
</p> <br>

+0

अक्षरों –

+2

अक्षरों के बीच की जगह को कम करने के लिए आप 'अक्षर-अंतर' का उपयोग कर सकते हैं, ये रिक्त स्थान 'कर्नाई' हैं। –

+0

@ कुमार, क्या मेरा जवाब आपके लिए काम करता था? –

उत्तर

4

फ़ॉन्ट का पत्र रिक्ति का मुद्दा है कि। सभी पात्रों के लिए समान दूरी प्राप्त करने के लिए आपको monospace फ़ॉन्ट का उपयोग करना चाहिए।

नीचे स्निपेट आज़माएं।

.bigger { 
 
    font-size: 40px; 
 
} 
 

 
p { 
 
    font-family: monospace; 
 
}
<p> 
 
    <span class="bigger">81</span> 
 
    <small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">84</span> 
 
    <small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">87</span> 
 
    <small>each</small> 
 
</p> <br>

+1

वे रिक्त स्थान 'कर्नाई' नहीं हैं, जो अक्षर अंतर नहीं हैं, मुझे लगता है कि –

+0

मेरा मतलब सीएसएस 'अक्षर-अंतर' भाई नहीं था। यह फ़ॉन्ट फ़ाइल में परिभाषित अंतर है। चूंकि उन्होंने एक मोनोस्पेस फ़ॉन्ट का उपयोग नहीं किया था, इसलिए प्रत्येक चरित्र के लिए अंतर अलग-अलग होगा। यही कारण है कि मैंने उन्हें एक मोनोस्पेस फ़ॉन्ट का उपयोग करने का सुझाव दिया। आप स्निपेट देख सकते हैं कि व्यवस्था समान रूप से की जाती है। @ अभिषेक पांडेय –

+0

मैंने शब्द 'अक्षर की अक्षर अंतर' शब्द का उपयोग किया क्योंकि मुझे शब्दावली 'कर्नाई' के बारे में पता नहीं था। शब्द के लिए धन्यवाद। –

2

चरित्र 1 (और 7 कभी कभी) आमतौर पर सबसे अधिक फोंट में थोड़े-थोड़े अंतराल की जाएगी। यदि आप वर्दी स्पेसिंग चाहते हैं, तो आपको मोनोस्पेस फोंट का उपयोग करने पर विचार करना चाहिए।

एक और सुधार जो आप अपने कोड में कर सकते हैं टैग के बीच की जगहों को हटा रहा है।

नीचे कोड की जाँच करें:

@import url('https://fonts.googleapis.com/css?family=Spectral'); 
 
@import url('https://fonts.googleapis.com/css?family=Open+Sans|Spectral'); 
 

 
.bigger { 
 
    font-size: 40px; 
 
} 
 

 
p { 
 
    font-family: 'Open Sans', sans-serif; 
 
}
<p> 
 
    <span class="bigger">81</span><small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">84</span><small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">87</span><small>each</small> 
 
</p> <br>

12

हालांकि एक monospace फ़ॉन्ट का उपयोग करके एक अच्छा समाधान नहीं है, तो आप अगर यह सही ओपन टाइप सुविधाओं की है अपने मूल फॉन्ट के साथ इस का समाधान कर सकता है।

किसी स्थान पर मौजूद स्थान में अंतर अंकों की चौड़ाई के कारण होता है (जैसा कि कर्नेल या अक्षर अंतर के विपरीत होता है, जैसा कि अन्य उत्तरों में सुझाया गया है)। चौड़ाई अनुपात में होती है - 1 4.

से संकरा है लेकिन एक फ़ॉन्ट भी सारणीबद्ध आंकड़े, जहां प्रत्येक अंकों समान चौड़ाई के है की पेशकश कर सकते हैं:

Image from https://www.fonts.com/content/learning/fontology/level-3/numbers/proportional-vs-tabular-figures

आप इस सक्षम कर सकते हैं font-feature-settings: 'tnum'; के साथ सीएसएस। या अन्य ओपनटाइप सुविधाओं का उपयोग करने और ब्राउज़र असंगतताओं का ख्याल रखने के लिए, Utility OpenType देखें।

+1

यह अधिक उपयोगी होगा अगर यह नोट किया गया कि प्रश्न में विशिष्ट फ़ॉन्ट इस का समर्थन करता है और अधिक सामान्य रूप से, कैसे जांचें। – Caleb

+0

@ कालेब अच्छा बिंदु। ओपन सेन्स [करता है] (https://en.wikipedia.org/wiki/Open_Sans#Variants), लेकिन मुझे नहीं पता कि Google द्वारा होस्ट किया गया संस्करण क्या करता है। किसी भी मामले में, आप अपने फ़ॉन्ट सप्लायर से जांच कर, या बस 'फ़ॉन्ट-फीचर-सेटिंग्स:' tnum 'के साथ इसका परीक्षण करके पता लगा सकते हैं। – RoelN

संबंधित मुद्दे