在css中会影响dom读取文档流的顺序的属性?

首先我们先来了解一下writing-mode,direction,unicode-bidi属性:

  dircetion定义和用法:

    direction 属性规定文本的方向 / 书写方向。

    该属性指定了块的基本书写方向,以及针对 Unicode 双向算法的嵌入和覆盖方向。不支持双向文本的用户代理可以忽略这个属性。

默认值: ltr
继承性: yes
版本: CSS2
JavaScript 语法: object.style.direction="rtl"

  direction的值:

描述
ltr 默认。文本方向从左到右。
rtl 文本方向从右到左。
inherit 规定应该从父元素继承 direction 属性的值。

  

  unicode-bidi的定义:

    unicode-bidi 属性设置文本的方向。

    继承性:Yes

    

  unicode-bidi的说明:

      尽管 CSS 试图处理书写方向,但 Unicode 有一种更健壮的方式来处理方向性。利用属性 unicode-bidi,CSS 创作人员可以充分利用 Unicode 的某些功能。

  unicode-bidi的的值:

    normal

      元素不会对双向算法打开附加的一层嵌套。对于行内元素,顺序的隐式重排会跨元素边界进行。

    embed

      如果是一个行内元素,这个值对于双向算法会打开附件的一层嵌套。这个嵌套层的方向由 direction 属性指定。会在元素内部隐式地完成顺序重排。这对应于在元素开始处增加一个 LRE(对于 direction:ltr :U+202A)或 RLE(对于 direction:rtl :U+202B),并在元素的最后增加一个 PDF(U+202C)。

    bidi-override

      这会为行内元素创建一个覆盖。对于块级元素,将为不在另一块中的行内后代创建一个覆盖。这说明,顺序重排在元素内部严格按照 direction 属性进行;忽略了双向算法的隐式部分。这对应于在元素开始处增加一个 LRO(对于 direction:ltr :U+202D)或 RLO(对于 direction:rtl :U+202E),并在元素最后增加一个 PDF(U+202C)。

  writing-mode属性:

    在ie5的时候已经支持使用了,它最初只是ie的属性,现在在css3中:谷歌,火狐也开始支持。所以在使用的时候需要记住两套不同的语法:ie的私有属性和css3的规范属性,如果只需要兼容到ie8+,可以只使用css3的规范属性。因为vertical-rl此时的文档流为垂直方向,rl表示水平方向,此时再设direction-rtl,实际上值rtl改变的是垂直方向的内联元素的文本方向,一纵一横,没有交集,而且writing-mode可以对块状元素产生影响,直接改变了CSS世界的纵横规则,要比direction强大和鬼畜的多。

  writing-mode的css3规范属性:

  writing-mode:horizontal-tb;//默认值  :水平方向,从上倒下

  writing-mode:vertical-rl ; //垂直方向,从右向左

  writing-mode : vertical-lr; //垂直方向,从左向右

  writing-mode的ie私有属性:

  writing-mode:lr-tb; // 默认值 : 从左到右,从上到下。

  writing-mode:tb-rl; //从上到下,从右向左。

  writing-mode:tb-lr(IE8+); //水平方向,从上到下,从左到右。

  如果需要兼容IE7,关注初始值:lr-tb和tb-rl,对css3规范中的horizontal-tbhebertical-rl。

  

  writing-mode,direction,unicode-bidi是CSS世界中3大可以改变文本布局流向的属性。

    其中direction,unicode-bidi属于近亲,经常在一起使用,也是唯一不受CSSc all属性影响的CSS属性,基本上就是和内联元素一起使用的。

    writing-mode似乎包含了direction,unicode-bidi某些功能和行为,例如vertical-rl的rl和direction的rtl值有相似之处,都是从右往左。然而,实际上,两者是没有jiao'ji 

    css的奇妙就在于:某些特性当初可能就是问了某些图文排版设计,但是,我们可以利用其带来的特性,发挥自己的创造力,实现其他很多意想不到的效果。所以,以上的三个属性都是非常好的资源

原文地址:https://www.cnblogs.com/LY69/p/10285951.html