2013-08-22 7 views
6

अब मैं इस तरह की स्ट्रिंग है (लीटर में)में दाएँ-से-बाएँ भाषा (जैसे अरबी और हिब्रू), ब्रैकेट उलट

हिब्रू पाठ (3)

और जब मैं का उपयोग करें dir = "rtl" या दिशा: स्ट्रिंग रीडायरेक्ट करने के लिए यह वास्तव में चला जाता है rtl:

מחיר אחד (3)

(वास्तव में मैं यहूदी charactor (3) अभी यह घटा देती तरह से ऊपर हो गया प्रवेश किया ↑)

वहाँ की तरह

(3) हिब्रू पाठ

(का उपयोग करते हुए इसे बनाने के लिए किसी भी तरह से है HTML या सीएसएस)

उत्तर

8

आप एक अलग सी अवधि में कोष्ठकों के भीतर पाठ लपेट की जरूरत नहीं है।

बल्कि, इस समस्या को दूर करने के लिए बंद कोष्ठक के बाद एक RLM नियंत्रण चरित्र (‏) जोड़ें। आरएलएम चरित्र एक और हिब्रू/अरबी चरित्र के रूप में कार्य करता है और इसलिए ब्रैकेट (जो एक कमजोर चरित्र है) अपनी दिशा बदलता है और इसकी सही जगह पर चलता है।

तो जैसा

:

<div>מחיר אחד(3)&rlm;</div> 

एनबी: आप तत्व में यह विशेषता dir="rtl" सेट करते हैं - फिर भी RLM नियंत्रण चरित्र अनावश्यक है।

तो जैसा:

<div dir="rtl">מחיר אחד(3)</div> 

CODEPEN (jsFiddle नीचे मेरे द्वारा)

यह microsoft doc अन्य इसी तरह के नियंत्रण वर्ण के साथ RLM नियंत्रण चरित्र बताते हैं।

+0

मुझे लेख में मेरा उदाहरण बहुत उपयुक्त नहीं है ~ आप कोड की अपनी दूसरी पंक्ति में सही हैं, जब मैं dir = 'rtl' का उपयोग करता हूं और ब्राउज़र में thansk अच्छी तरह से चला जाता है (मुझे याद है जब मैं इस सवाल को गड़बड़ कर देता हूं। ..इस यह मेरा भ्रम या क्रोम अपडेट किया गया है ..?) – sleepholic

+1

वैसे भी मेरी समस्या हल हो गई है। लेकिन मुझे लगता है कि जब मैं अंग्रेजी में एक हेब्रू वाक्यांश (एलटीआर) या हेब्रू (आरटीएल) में एक अंग्रेजी वाक्यांश का उपयोग करता हूं ब्रैकेट्स, यह भी गड़बड़ हो जाएगा। अगर हम विशिष्ट भाषा वाक्यांश को लपेटने और शैली बनाने के लिए एक अवधि बर्बाद नहीं करना चाहते हैं तो हम '‏' या '‎' का उपयोग कर सकते हैं। – sleepholic

5

(अद्यतन: यदि आप लूटने अपनी टिप्पणी)

इस एक छोटे से कम आक्रामक समाधान है स्पष्ट करने के लिए धन्यवाद (result in jsFiddle):

<span lang="he" dir="rtl">מחיר אחד<span>(3)</span></span> 

पिछले कोष्ठकों विराम चिह्न के रूप में माना जाता है लगता है और इस तरह अलग व्यवहार किया।

... ध्यान दें कि संरेखित विपरीत = "सही", विराम चिह्न भी दूसरी जगह होगा ... Sample RTL Document

देखें नमूना दस्तावेज़ में पिछले की इसी स्थान परिवर्तन: This article मुझे कुछ स्पष्टता दे दी है कोष्ठक उपशीर्षक "बिडरेक्शनल ओवरराइड (बीडीओ)" के भीतर भी होता है।

* नवीनतम क्रोम/एफएफ/सफारी में jsfiddle समाधान जाँच/यानी

+0

क्या आप जानते हैं कि आपके द्वारा प्रदान किया जाने वाला समाधान एक ज्ञात बग है जिसे आप आसपास काम कर रहे हैं या आपका समाधान अपेक्षित ब्राउज़र व्यवहार से निपटने का सही तरीका है? आपने अपने समाधान का परीक्षण किस ब्राउज़र में किया था? – rob

+1

चूंकि मैं आरएलटी भाषाओं से परिचित नहीं हूं और इस प्रकार उनके ब्राउज़र विनिर्देशों के साथ मैं 100% निश्चित नहीं हो सकता हूं यदि मेरा समाधान दिए गए परिस्थिति से निपटने के लिए सही सही तरीका है, लेकिन यदि ब्रांड्स को विराम चिह्न के रूप में माना जाता है और इस तरह के विषय के रूप में स्थानांतरण के लिए, एक अवधि रैपर उस व्यवहार को रद्द करना प्रतीत होता है। –

0

समाधानों में से एक को छोड़ दिया प्रदर्शन शैली

के अधिकार के लिए ब्रैकेट के बाद **&#x200e;** जोड़ने के लिए कोष्ठक पर समाधान के लिए @freeworlder को

धन्यवाद प्रदर्शित गलत तरीके से भी आप अन्य चार उपयोग कर सकते हैं, इस लिंक का अनुसरण है http://www.codetable.net/hex/200e

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