通過HTML和CSS設定文字方向
阿新 • • 發佈:2018-12-21
HTML文字中預設的文字方向是left to right。但對於古漢語或者阿拉伯語等語言,文字方向則是right to left。如何實現呢?
1. HTML方式:<bdo dir="rtl"></bdo> 點選進入官方網頁
HTML程式碼如下:
<bdo dir="ltr">a bc de.</bdo>
<bdo dir="rtl">A BC DE%</bdo>
顯示效果如下:
a bc de.
%ED CB A
可見:通過HTML中的bdo標籤改變文字方向,是依照從右向左的順序依次輸出bdo標籤中的每個字元。但輸出的內容還是從螢幕的左側依次向右輸出。不要與text-align:right和float:right搞混。
2. CSS方式:{direction:rtl;}
HTML和CSS如下:
<p style="direction: rtl;">It's a beautiful world, isn't it? I think it [email protected]#$%[]{}</p>
<p>It's a beautiful world, isn't it? I think it [email protected]#$%[]{}</p>
<p style="direction: rtl;">It's a beautiful world, isn't it? I think it [email protected]#$%[]{}abc!</p>
<p>It's a beautiful world, isn't it? I think it [email protected]#$%[]{}abc!</p>
顯示效果如下:
{}[]%$#@!?.It's a beautiful world, isn't it? I think it is
It's a beautiful world, isn't it? I think it [email protected] #$%[]{}abc!
!It's a beautiful world, isn't it? I think it [email protected]#$%[]{}abc
It's a beautiful world, isn't it? I think it [email protected]#$%[]{}abc!
可見:格式上,使用了direction的文字呈現右對齊;內容上,可以將這段內容中中最後一個非符號字元(含)之前看成是文字部分,最後的符號看成是符號部分,每個符號都是一個獨立的部分。(如果一個符號前後都有文字字元,那這麼符號將被認為是文字部分。)然後在頁面上從右向左倒序輸出以上的所有部分,即,首先輸出完整的文字部分,然後再倒序一次輸出所有符號部分。
3. CSS方式:{direction:rtl; unicode-bidi: bidi-override;}
HTML和CSS如下:(對2中的原始碼進行修改,在style部分新增unicode-bidi: bidi-override;部分)
<p style="direction: rtl; unicode-bidi: bidi-override;">It's a beautiful world, isn't it? I think it [email protected]#$%[]{}</p>
顯示效果如下:
{}[]%$#@!?.si ti kniht I ?ti t'nsi ,dlrow lufituaeb a s'tI
可見:每一個字元都是一個獨立的個體,頁面將從右向左依次倒敘輸出所有字元。
總結見下表:
(純從文字技巧層面來看,1和3的實現比較徹底,但從語義來看,可能2有實際的應用意義,並不確定,有待以後探究!)
對設定文字方向的幾種方式的比較
方式 格式 文字 1 左對齊 完全倒敘 2 右對齊 部分倒敘 3 右對齊 完全倒敘這篇文章解釋得更詳細:我的小樹林