阿拉伯語的頁面排版跟中文相反,布局從右向左。其中頁面中文字默認右對齊,且從右向左讀。
因此,需要對該語言進行專門布局設置。
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 就可以實現。