大家有兴趣可以先理解一下Unicode双向算法,链接:https://www.jianshu.com/p/f6c4c00ad923,我自己是看的云里雾里的,下面仅以个人理解写下对unicode-bidi的几个属性值的看法,若有不同意见,欢迎评论指出讨论。
下面分别是菜鸟上的direction属性值和unicode-bidi属性值的描述
代码样式如下所示:
下面依据代码样式说明:
首先,我们要了解一个场景,有的语言是从左边开始写的left-to-right,但是有的语言是从右边开始写的right-to-left。
dierction属性就实现了这个功能。direction: ltr;默认,文件内容显示从左到右
direction: rtl;文件内容显示从右到左
然后,我们发现光是dierction属性设置文件内容从右到左时,只是位置过去了,文字具体的内容还是从左到右的,我们想让文字也变成从右到左的话,怎么办呢?unicode-bidi来了
unicode-bidi: bidi-override;将文件具体内容也跟direction设置的属性值一样
这样,我们看到文字具体内容也是从右到左了,但是,这样,依旧存在一个问题,我们发现中文这样颠倒过来,是没问题的,但是英文单词这样颠倒过来,就不是原来的单词,所以我不想让英文单词颠倒过来,这个时候需要用到
unicode-bidi:embed;
完美
至于unicode-bidi属性的normal和embed有什么不同?
单独使用,就最终显示的样式来说,并没有什么不同。但embed创建了一个附加的嵌入层面。如果在unicode-bidi: bidi-override属性值里面,normal是不起作用的,因为 bidi-override也是创建了一个附加的嵌入层面的。