2015-01-21 2 views
8

& thinsp ;, & ensp ;, & emsp; सफारी ब्राउज़र में टूटा हुआ है।और thinsp ;,  ,   विकल्प

spaces

ये पतली अंतरिक्ष, एन-आकार अंतरिक्ष, एम-आकार अंतरिक्ष जो दूसरे ब्राउज़र में काम कर रहे हैं।

thinsp: एक और thinsp; p & thinsp; सी और thinsp; घ और thinsp, ई और thinsp; च & thinsp; जी

ensp: एक   ख   ग   घ   ई   च   जी

emsp: एक   ख   ग   डी   ई   एफ   जी

क्या सफारी में इनके लिए विकल्प हैं?

+0

बस रिक्त स्थान की संख्या की गणना करें और सामान्य nbsp का उपयोग करें? – Steve

+0

@Steve thinsp पतला (गैर-ब्रेकिंग स्पेस) से पतला है। और ब्राउज़र में डबल रिक्त स्थान के रूप में डबल रिक्त स्थान को पार्स नहीं किया जाता है। – kipid

उत्तर

9

यह एक फ़ॉन्ट समस्या हो सकती है; यह उस फ़ॉन्ट को निर्दिष्ट करने में मदद कर सकता है जिसमें उपयोग की गई निश्चित-चौड़ाई वाली रिक्त स्थान के लिए ग्लाइफ शामिल हैं। अधिकांश फ़ॉन्ट्स में उनकी कमी होती है। अच्छे ब्राउज़र को ग्लिफ की आवश्यकता नहीं होती है बल्कि इसके बजाय अन्य पात्रों के बीच अंतर बढ़ जाती है।

हालांकि, एक और अधिक मजबूत दृष्टिकोण पाठ के रन जहां विशिष्ट रिक्ति सभी पत्र, letter-spacing संपत्ति के बीच वांछित है के लिए, रिक्ति जोड़ने मुख्य रूप से padding गुण और, के लिए सीएसएस तकनीक का उपयोग करने के लिए है। उत्तरार्द्ध का उपयोग करके, ध्यान दें कि यह अंतिम चरित्र के बाद भी अंतर को जोड़ता है। Unicode spaces पर मेरा पृष्ठ "निश्चित-चौड़ाई रिक्त स्थान" की परिभाषित या सामान्य चौड़ाई दिखाता है जैसे थिन स्पेस (जो सभी वास्तव में निश्चित-चौड़ाई नहीं हैं)। लेकिन em यूनिट (फ़ॉन्ट आकार) के संदर्भ में वांछित रिक्ति की मात्रा से शुरू करना शायद बेहतर है, और बस निश्चित-चौड़ाई वाली जगहों को भूलें।

फिर भी एक और संभावना सामान्य स्पेस चरित्र का उपयोग करना है, लेकिन इसे span में लपेटें और इसकी चौड़ाई निर्धारित करें। इसके लिए इसे एक इनलाइन ब्लॉक बनाने की आवश्यकता है। दृष्टिकोण ऊपर की तुलना में बेहतर है जब वांछित गैर-सीएसएस फ़ॉलबैक किसी भी दूरी की कमी के बजाय नियमित स्थान है। ध्यान दें कि खोज इंजन को सीएसएस-अज्ञानी माना जाना चाहिए, इसलिए यह दृष्टिकोण उन्हें वर्णों के बीच एक शब्द स्थान "देखने" के लिए प्रासंगिक है (उदाहरण के लिए "foo bar" और "foo bar" को देखने के लिए जब आप एक निश्चित-चौड़ाई वाली जगह चाहते हैं शब्द "foo" और "bar")। और सामान्य रूप से, आप लाइन ब्रेक को रोकने के लिए स्पेस के बजाय NO-BREAK स्पेस का उपयोग कर सकते हैं।

उदाहरण:

.thin { 
 
    display: inline-block; 
 
    width: 0.2em; 
 
}
<div style="font-size: 200%"> 
 
<div>a b (normal space)</div> 
 
<div>a&thinsp;b (thin space)</div> 
 
<div><span style="padding-right: 0.2em">a</span>b (0.2em padding)</div> 
 
<div><span style="letter-spacing: 0.2em">ab</span> (0.2em letter spacing)</div> 
 
<div>a<span class=thin> </span>b (space set to 0.2em width)</div> 
 
<div>a<span class=thin>&nbsp;</span>b (no-break space set to 0.2em width)</div> 
 
</div>

+0

एचएम .. मुझे आशा है कि सफारी इन चीजों का समर्थन करेगी। (और अन्य विशेषताएं भी।) कई सुविधाओं में विशेष रूप से स्केलेबिलिटी या जिम्मेदार वेब में सफारी अन्य ब्राउज़रों की तुलना में खराब है। – kipid

0

मैं एक के रूप में बक्से संरेखित करने के लिए चाहता था और इनपुट तत्व से पहले style="padding-left: 0.7em का उपयोग कर एक span में &nbsp इस्तेमाल किया। इसके बाद मैंने 0.4em, 0.85em, 0.95em और 1.3em का उपयोग कर बक्से को संरेखित करने के लिए प्रत्येक em को समायोजित किया, जो सभी इनपुट बॉक्स के खिलाफ पंक्तिबद्ध हैं जिन्हें किसी भी समायोजन की आवश्यकता नहीं थी।

2

यह समस्या तय की जा रही है। मैं इसे किसी भी तरह से पुन: उत्पन्न नहीं कर सकता। मैंने चार आम फोंट के साथ परीक्षण किया।यहाँ परीक्षण पृष्ठ है:

http://burtonsys.com/test_html_spaces.html

मैं एक Apple डिवाइस की जरूरत नहीं है, लेकिन मैं सफारी के साथ यह जाँच करने के लिए पार ब्राउज़र का परीक्षण वेब साइटों की एक जोड़ी का इस्तेमाल किया। Safari 9.1.3, और सफारी 7.1 में, सभी स्पेस वर्ण ठीक काम करने लगते हैं।

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