27

因此,电话号码始终是 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

我说清楚了吗?

如何让它发挥作用?

4

3 回答 3

34

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

于 2010-12-01T15:18:33.180 回答
23

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

这些是:

LTR: 0x200E
RTL: 0x200F

所以:

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

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

于 2010-12-01T15:18:53.740 回答
14

另一种选择可能是dir='ltr'在您的内联元素中使用属性:

<p id="text">Please call to <span dir='ltr'>+44-123-321</span> for some help</p>

请注意,包含在您的 HTML 中与使用属性&#x200E;一样糟糕。dir='ltr'

于 2011-12-26T09:14:35.273 回答