首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS unicode-bidi嵌入

CSS unicode-bidi嵌入
EN

Stack Overflow用户
提问于 2014-12-01 14:44:40
回答 1查看 509关注 0票数 2

我正在努力学习unicode-bidi属性的用法。例如,我认为,如果我设置了一个单词的方向与拉丁字母字母,并将嵌入的值嵌入到unicode-bidi属性,该词将是孤立的,不会影响周围的上下文。然而,下面的代码与我预期的正好相反:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<span style="direction:rtl;unicode-bidi:embed"> James</span>:15<br/>
<span style="direction:rtl;"> James:</span>15
</body>
</html>

我希望第一个显示右边的数字,因为"rtl“文本是孤立的,但是第二个是这样做的。

我知道unicode的属性对阿拉伯语、希伯来语等词很有用,但我不知道这里发生了什么。

我搜索了谷歌,并在这里找到了一个完整的答案,对unicode所做的事情,但我唯一能找到的是“提供一个嵌入级别”,但对我来说还不够清楚。

有人能解释一下这个属性吗?在上面的代码中会发生什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-01 18:20:52

嵌入的含义最终在UAX #9 Unicode双向算法中定义。我不想假装理解所有这些,但我认为在你的情况下会发生这样的事情:

在代码的第二部分中,您只需为字符串“James”声明从右到左的方向。这没有影响,因为direction属性只影响整体布局方向(例如,表列是从左到右还是从右到左运行)和指向中性文本的文本方向。这里的内容只有拉丁字母,它们有很强的左右方向性,还有一个空格,它适应相邻字符的方向性,具有很强的方向性。

然而,在第一部分中,声明unicode-bidi:embed将使元素作为一个整体按照其声明的方向性(从右到左)来处理,即使这个方向性在元素中没有影响。从某种意义上说,它的作用就像一个从右到左的字母。用X标记它,我们就有X:15。这就像X是一个阿拉伯字母一样:这个方向强的字母出现在它的右边,然后在它的左边出现指向性弱的标点符号“:”,然后是从左到右运行的普通数字15 (甚至在阿拉伯文本中也是如此)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27230866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档