如何强制一段文本在“方向 rtl”段落内成为“方向 ltr”

新手上路,请多包涵

因此,电话号码始终是 ltr(从左到右)。

在多语言网站上工作,我需要在方向为 rtl 的文本段落中插入一个电话号码(带有“+”前缀和数字分隔的数字)(当然是针对相关语言)

所以我有这样的事情:

 .ltr #test {direction:ltr}
.rtl #test {direction:rtl}
#phone {direction:ltr}
 <div class="ltr"><p id="test">Please call to <span id="phone">+44-123-321</span> for some help.</p></div>
<div class="rtl"><p id="test">Please call to <span id="phone">+44-123-321</span> for some help.</p></div>

当然,这是行不通的,因为“ direction ”仅适用于块元素,而“ span ”是内联元素。我需要电话号码在段落内,所以我不能将“ span ”更改为“ display:inline

我说清楚了吗?

如何让它发挥作用?

原文由 Jonathan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 476
2 个回答

您可以在 + 符号之前使用 unicode 方向性标记字符,为算法提供所需的提示。

这些都是:

 LTR: 0x200E
RTL: 0x200F

所以:

 <p id="text">Please call to <span id="phone">&#x200F;+44-123-321</span> for some help</p>

有关详细信息,请参阅 SO 答案。

原文由 Oded 发布,翻译遵循 CC BY-SA 3.0 许可协议

尝试添加 #phone {direction:ltr; display:inline-block}

原文由 Daniel 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题