阿拉伯語在網頁中排版問題解決


阿拉伯語的頁面排版跟中文相反,布局從右向左。其中頁面中文字默認右對齊,且從右向左讀。 
因此,需要對該語言進行專門布局設置。


1、direction 屬性

此屬性很少見,平時基本不用。

查詢css文檔得知: 
direction 屬性規定文本的方向 / 書寫方向。 
該屬性指定了塊的基本書寫方向,以及針對 Unicode 雙向算法的嵌入和覆蓋方向。 
取值: 
ltr —(默認)文本方向從左到右。 
rtl — 文本方向從右到左。

當元素設置direction: rtl后,文字的書寫方向是從右至左。direction還有控制text-align默認值的作用,如果沒有預先定義過text-align,那么這個元素的text-align的值就變成了“right”,即文字右對齊。

例:

<div>你好么?</div>
<div>How are you?</div>
<div>كيف حالك؟</div>
<div style="direction: rtl;">你好么?</div>
<div style="direction: rtl;">How are you?</div>
<div style="direction: rtl;">كيف حالك؟</div>

頁面顯示: 
這里寫圖片描述

可以看到,當元素設置direction: rtl后,文字右對齊,且內容在右邊,標點在左邊,符合阿拉伯語從右向左閱讀的習慣。

另外,該屬性可繼承,通常對html標簽設置,即可覆蓋全局。

html {direction: rtl;}

或者

<html dir="rtl">

2、unicode-bidi 屬性

此屬性使用也很少見。 
unicode-bidi 屬性設置文本的方向。

關於用法,先舉例:

<div>你好么?</div>
<div>How are you?</div>
<div>كيف حالك؟</div>
<div style="direction: rtl;unicode-bidi:bidi-override">你好么?</div>
<div style="direction: rtl;unicode-bidi:bidi-override">How are you?</div>
<div style="direction: rtl;unicode-bidi:bidi-override">كيف حالك؟</div>

顯示結果: 
這里寫圖片描述

可以看到,使用unicode-bidi:bidi-override后,所有的字符都倒過來了,英文和阿拉伯語明顯不符合排列規范。

所以,可見如果要實現自右向左的閱讀順序,用direction:rtl 就可以實現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM