css常用属性总结:文本属性中的text-indent

在网页中的文本格式中最重要的效果之一就是段落的首行文本缩进,尤其在新闻类页面,使用text-indent,任何元素都可以让首行以给定的长度缩进,

长度甚至可以是负数,这一属性的最常用方式就是段落的首行缩进;

p{text-align:2em;}

这条规则使任何段落的首行缩进2个字符大小。

通常,text-indent可应用于任何块级元素,但不能应用于内联元素,也不能用于替换元素,如<img />,但是,如果段落首行有一个图像,那么它将随文本一起移动。

text-indent支持负的文本缩进,如

  • p{text-indent:-2em;}

这里所有的段落的首行就会向前移动2个文字大小。不过使用负的text-indent时要注意文字跑出元素外面,这样你要的效果可能反而就得不到了。

这里需要注意的是百分比的使用,百分比是指相对于父元素的值,如果设置5%的缩进值,那么此元素的首行将按其父元素的宽度的5%进行缩进。如:

  • div{width:400px;}
  • p{text-indent:5%;}

<div><p>这是一段文字,测试文本缩进百分比的使用</p></div>

我们可以看到首行文字缩进了20px,计算原理就是父元素400x5% = 20px,当然这里得注意p元素没有设置宽度,设置了宽度就按本身宽度的百分比来计算。

然而,text-indent中最有趣的估计是继承,它继承的是计算值,而非声明值。如

  • body{width:500px;}
  • div{width:400px;text-indent:10%;}
  • p{width:200px;}

<div>

这是外面的文字

<p>这是里面的文字</p>

</div>

这里便可以看到两段文字的首行都缩进了50px,而不是外面的文字50px,p元素中的文字缩进40px,可见它继承的是计算值,而不是声明值。

今天的内容就这么多,写的挺粗糙的,惭愧啊。