Say*_*iss 34 html css right-to-left
<div style="direction: rtl">
[x]y
</div>
Run Code Online (Sandbox Code Playgroud)
您可以看到HTML文本[x]y
显示为x]y]
.
这个结果是什么原因?
PS:我在Chrome 56.0.2924.87(64位)中得到了这个结果.
smn*_*brv 32
我无法告诉你原因,但我可以告诉你如何解决它:添加unicode-bidi: bidi-override;
.了解更多信息
<div style="direction: rtl; unicode-bidi: bidi-override;">
[x]y
</div>
Run Code Online (Sandbox Code Playgroud)
说明
unicode-bidi属性与direction属性一起用于设置或返回是否应覆盖文本以支持同一文档中的多种语言.
不清楚解释这种行为.但是,它的工作原理.
编辑
MDN文章在这里带来了一些亮点,bidi-override
实际上禁用了浏览器标准的智能行为,一切都按预期工作.
Juk*_*ela 27
它被正确呈现,即根据规格.您已经要求从右到左布局.渲染首先采用[
角色.它是方向中性的,因此在最右边的RTL运行中呈现并镜像(所以它看起来像]
).接下来,它的左边是x]y
那个顺序,因为拉丁字母x
和y
内在的左右方向性和中性]
从它们获得方向性.
要绘制的结论取决于您想要的渲染以及使用从右到左方向性的原因.