CSS text-indent 属性用于指定一段文本的第一行之前有多少个水平空格。也就是通常所说的首行文本缩进。
在中文的文章排版中,通常每一个段落的第一行都会有2个文字距离的缩进,这样不但样式美观,也便于读者阅读。
文本缩进的距离是相对于文本包含块的左侧边缘(或右侧边缘,如果是文本方向是rtl的话),文本的方向由direction属性来决定。
文本缩进的值可以是正数,也可以是负数。负数值可能会受某些具体实现的限制。
text-indent属性会级联,当在一个父元素上指定了text-indent属性之后,它会影响所有的inline-block子元素。由于这个原因,我们通常会在inline-block元素上指定text-indent: 0。
text-indent属性也经常被用于制作图片替换技术。图片替换技术是指在原来显示文字的地方(通常在标题处),使用图片来替换文字。例如:
jQuery之家
h1.image-replacement {
width: 350px;
height: 75px;
background: url("images/logo.png");
text-indent: -9999px;
}
官方语法
text-indent: | | inherit
参数:
:使用固定的值来指定文本的缩进。
:使用百分比值来指定文本的缩进,百分比值相对于文本的块级包含元素。
inherit:继承父元素的文本缩进值。
另外还有两个实验性的值:hanging和each-line。
hanging:该值会对所有的行进行反转缩进:除了第一行之外的所有的行都会被缩进,看起来就像第一行设置了一个负的缩进值。
each-line:文本缩进会影响第一行,以及使用
强制断行后的第一行。
text-indent属性的初始值为0。
应用范围
text-indent属性可以应用在所有块级元素上。
示例代码
text-indent: 3em
text-indent: 40px
text-indent: 15%
text-indent: each-line
text-indent: hanging
text-indent: inherit
在线演示
下面的例子演示了2个文字宽度的文本缩进效果。
时光赋予了万物更多的明媚与绚烂,“等闲识得春风面,万紫千红总是春”。绿,或许被繁锦所掩盖,生命的底色亦或被万物所凋弊,而谁又注意,缤纷之下,恒古的凝望与守候。如此看来,绿既是多彩的前奏,又是绚烂孕育者。绿,贯穿生命的始终,感染着万物,滋养着生命,其中的意境,几人知晓。
浏览器支持
所有现代浏览器都支持text-indent属性,包括:Chrome, Firefox, Safari, Opera, IE, Android 和 iOS。
hanging和each-line值是实验性的取值,目前没有浏览器支持。
相关阅读