CSS文本方向


前面的話

  一般地,正常網頁文本方向都是從上到下,從左到右。實際上,有多種設置文本方向的屬性,前面已經詳細介紹過text-align,HTML全局屬性中有一個"dir"屬性就是專門用來設置文本方向的,設置文本方向的CSS樣式有direction、unicode-bidi和writing-mode。本文將詳細介紹網頁文本方向的設置方法

 

text-align

  水平對齊實現上影響的是一個元素中的文本的水平對齊方式,關於text-align的詳細信息移步至此

  值: left | center | right | justify | inherit

  初始值: left

  應用於: 塊級元素(包括block和inline-block)

  繼承性: 有

//left: 1 23 456
//right: 1 23 456

 

writing-mode

  writing-mode原先是IE的私有屬性,原先的屬性是lr-tb(左-右,上-下)和tb-rl(上-下,右-左)。其中writing-mode:tb-rl常用於觸發haslayout。但W3C將writing-mode屬性標准化后,其屬性值也發生了變化

  writing-mode屬性與其他改變文本方向的屬性非常不一樣。它不僅改變文本的顯示方向,更直接改變了文本流的方向。如果其屬性值改為vertical-rl,則文本流改成了垂直方向,則text-align變成了垂直對齊,vertical-align變成了水平對齊

  值: horizontal-tb | vertical-rl | vertical-lr

  初始值: horizontal-tb

  應用於: 除表格類元素之外的所有元素

  繼承性: 有

  [注意]safari和移動端IOS和android需要添加-webkit-前綴;IE瀏覽器只支持自己的私有屬性值

 

dir

  dir是HTML的全局屬性,專門用來設置文本的方向

  值: ltr | rtl | auto

//ltr: 1 23 456
//rtl: 456 23 1

 

direction

  direction是設置文本方向的CSS樣式

  值: ltr | rtl | inherit

  初始值: ltr

  應用於: 所有元素

  繼承性: 有

  [注意]想讓direction樣式在inline元素上起作用,需要unicode-bidi樣式的相關設置

  [注意]設置direction樣式時,HTML元素的全局屬性dir無效

ltr: 從左到右(left to right)
rtl: 從右到左(right to left)
//ltr: 1 23 456
//rtl: 456 23 1

 

unicode-bidi

  unicode-bidi是一種更健壯的處理文本方向的方式

  值: normal | embed | bidi-override | isolate | isolate-override | plaintext | inherit

  初始值: normal

  應用於: 所有元素

  繼承性: 無

  [注意]unicode-bidi屬性應用於flex彈性盒模型上有問題,除非伸縮容器只包含一個匿名伸縮項目時有效,其余情況都無效

  [注意]isolate、isolate-override、plaintext是實驗屬性值,幾乎沒有瀏覽器支持

復制代碼
//display:inline-block/block
normal/embed: 456 23 1
bidi-override: 654 32 1

//display:inline
normal:1 23 456
embed: 456 23 1
bidi-override: 654 32 1
復制代碼

  [注意]只有當dir為rtl或direction為rtl時,unicode-bidi屬性才起作用


免責聲明!

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



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