当前位置主页 > 资料库 > 前端教程 > CSS属性参考 | direction

CSS属性参考 | direction

06-09

CSS direction 属性用于控制页面文档的文字排版方向。通过该属性可以将文字的排版方向设置为从左向右排版(LTR),或从右向左排版(RTL)。

某些语言(如阿拉伯文,波斯文和希伯来语等)的文字书写格式是从右向左排版的,而大部分语言的书写格式是从左向右书写(如中文,英文,法文等)。在某些场合中,同一个文档中可能需要混合使用从右到左(RTL)和从左到右(LTR)的文字排版。如果你在同一个段落中同时使用中文和阿拉伯文,那么就会出现双向文本( bi-directional text)的情况。此时,浏览器会使用Unicode编码指定的算法来决定双向文本的显示方向。

CSS direction属性用于指定以下情况的文字方向:

  • 文本流的“嵌入”和方向覆盖。这种情况它需要和unicode-bidi属性结合使用。
  • 块级元素的基本书写方向。例如段落元素<p>的文字方向。如果要使direction属性在内联元素上起作用,unicode-bidi属性的值必须为embedoverride
  • 应用于表格列布局方向。当为表格的列元素指定了direction属性之后,由于在文档树中,表格列不是列中的单元格的祖先元素,列中的单元格不会继承列的direction属性。

HTML文档中的文本方向可以通过dir属性来改变。所有的HTML元素都可以使用dir属性。dir属性的值可以设置为ltr(默认值),或者rtl。设置了dir属性的节点的所有后代节点都会继承dir属性。direction属性则是通过CSS属性的方法来改变HTML文档文本方向的方法。

如果你将原来是从左到右排版的文字修改为从右到左排版,这段文字的标点符号会显示在相反的位置上,例如下面的两段文字:第一段使用默认的LTR排版,第二段使用RTL排版。

这是一段用于测试的文字!

这是一段用于测试的文字!

direction属性和unicode-bidi属性是唯一不受all属性的简写方式影响的属性。

direction属性的作用和HTML标签中的dir属性效果相同。而unicode-bidi属性的功能可以使用HTML元素<bdo>来实现。

如果你想改变一个内联元素的文本方向,可以在CSS代码中结合使用directionunicode-bidi属性来实现。也可以通过修改<bdo>元素的dir属性来实现。例如:

<p>这是一段从左向右排版的文字。<span class="right-to-left">这是一段从右到左排版的文字</span>,它们混排在一起。</p>
                            
.right-to-left{
  direction: rtl;
  /* 下面的代码用于在内联元素上设置文本方向 */
  unicode-bidi: embed; /* 或者 bidi-override */
}                             
                            

如果使用<bdo>元素,代码应该类似下面的样子:

<p>这是一段从左向右排版的文字。<bdo dir="rtl">这是一段从右到左排版的文字</bdo>,它们混排在一起。</p>
                            
官方语法
direction: ltr | rtl | inherit     
                            

参数:

  • ltr:方向从左到右。文字从左向右排版。
  • rtl:方向从右到左。文字从右向左排版。
  • inherit:继承父元素的文字排版方向。

direction属性的初始值为ltr

应用范围

direction属性可以应用在所有的元素上。

示例代码
direction: ltr;
direction: rtl;

direction: inherit;                              
                            

下面的代码将blockquote元素的文本方向设置为从右向左:

blockquote {
  direction: rtl;
}                              
                            
在线演示

下面的例子演示一段从右向左排版的效果,注意标点符号的位置:

正常的LTR排版:

CSS-层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言!!CSS目前最新版本为CSS3,是能够真正做到网页表现与内容分离的一种样式设计语言。

从右到左的RTL排版:

CSS-层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言!!CSS目前最新版本为CSS3,是能够真正做到网页表现与内容分离的一种样式设计语言。

下载源代码

浏览器支持

所有的现代浏览器都支持CSS direction属性,包括:Chrome, Firefox, Safari, Opera, Internet Explorer 以及 Android 和 iOS。

相关阅读
Previous:
上一篇:CSS属性参考 | cursor
Next:
下一篇:CSS属性参考 | <frequency>
返回顶部