我正在尝试建立一个RTL网站。在输入波斯文本时,句号或点位于段落最后一行的开头,它必须位于段落的末尾。
RTL的CSS:
text-align:right;
float:right;
DEMO:http://jsfiddle.net/bbr8C/
请检查演示,在演示中,段落在右边,但句号是在最后一行的开头。我该如何解决?
答案 0 :(得分:5)
答案 1 :(得分:4)
尝试使用它:
<p dir= "rtl"></p>
或者在CSS中:
p{
direction: rtl;
}
答案 2 :(得分:0)
将你的CSS更改为:
p{
text-align:left; //left now
float:right;
}
答案 3 :(得分:0)
如果整个页面采用RTL语言,请在body
元素上设置方向:
<body dir=rtl>
如果只有一个段落是RTL语言,那么自然就足够了:
<p dir=rtl>
HTML dir
attribute优于CSS direction
属性,因为文本方向性是其结构的固有部分,而不是偶然的表达建议。正如MDN文档所说:“由于文本的方向性在语义上与其内容有关,而与其表示无关,因此建议Web开发人员尽可能使用此属性而不是相关的CSS属性。这样,即使在不支持CSS或已停用CSS的浏览器上,文本也会正确显示。“
设置dir=rtl
也会设置默认的右对齐,因此您无需设置text-align: right
。
通常,浏览器使用Unicode中字符属性中定义的字符方向性来呈现文本。这就是为什么即使没有方向性设置也能正确显示波斯语中的文本段落。但是,方向性规则很复杂,如果没有一些帮助,并不总能导致正确的渲染。在这种情况下,段落以句点中立的句号结束,因此默认方向性(从左到右)会错位。