一、关于 CSS文本属性

CSS 文本属性可定义文本的外观。 通过文本属性,您可以改变文本的颜色、字符间距,对齐文本,装饰文本,对文本进行缩进,等等。


 
 

二、缩进文本

把 Web 页面上的段落的第一行缩进,这是一种最常用的文本格式化效果。CSS 提供了 text-indent 属性,该属性可以方便地实现文本缩进。通过使用 text-indent 属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值。这个属性最常见的用途是将段落的首行缩进,下面的规则会使所有段落的首行缩进2em:

p {
text-indent: 2em;
}

如果只是部分文本要实现首行缩进2em,建议用下面的行内样式,

<p style="text-indent:2em">段落文字</p>

这样可以灵活地设定文本是否要首行缩进,而且该样式在文本录入的过程中会自动往下继承,类似于word,是很方便的。

这段文字和上面一段蓝色的文字都设置了首行缩进的样式。

使用负值:

text-indent 还可以设置为负值。利用这种技术,可以实现很多有趣的效果,比如"悬挂缩进",即第一行悬挂在元素中余下部分的左边:不过在为 text-indent 设置负值时要当心,如果对一个段落设置了负值,那么首行的某些文本可能会超出浏览器窗口的左边界。为了避免出现这种显示问题,建议针对负缩进再设置一个外边距或一些内边距。

缩进文本的单位除了ems之外,还有许多其他的单位,包括百分比值。百分数要相对于缩进元素父元素的宽度。换句话说,如果将缩进值设置为 20%,所影响元素的第一行会缩进其父元素宽度的 20%。在下例中,缩进值是父元素的 20%,即 100 个像素:

div {width: 500px;}
p {text-indent: 20%;}
<div>
<p>this is a paragragh</p>
</div>


 
 

三、水平对齐

text-align 是一个基本的属性,它会影响一个元素中的文本行互相之间的对齐方式。它的前 3 个值相当直接,不过第 4 个和第 5 个则略有些复杂。值 left、right 和 center 会导致元素中的文本分别左对齐、右对齐和居中。

另一个水平对齐属性justify,是实现两端对齐。在两端对齐文本中,文本行的左右两端都放在父元素的内边界上。然后,调整单词和字母间的间隔,使各行的长度恰好相等。您也许已经注意到了,两端对齐文本在打印领域很常见。

 

 
 

四、字间隔和字母间隔

word-spacing 属性增加或减少单词间的空白(即字间隔)。其默认值 normal 与设置值为 0 是一样的。word-spacing 属性接受一个正长度值或负长度值。如果提供一个正长度值,那么字之间的间隔就会增加。为 word-spacing 设置一个负值,会把它拉近。

字间隔实例

letter-spacing 属性与 word-spacing 的区别在于,字母间隔修改的是字符或字母之间的间隔。

字母间隔实例

 

 
 

五、字符转换

text-transform 属性处理文本的大小写。这个属性有 4 个值:

•none
•uppercase
•lowercase
•capitalize

默认值 none 对文本不做任何改动,将使用源文档中的原有大小写。顾名思义,uppercase 和 lowercase 将文本转换为全大写和全小写字符。最后,capitalize 只对每个单词的首字母大写。

转换实例

 

 
 

六、文本装饰

文本装饰text-decoration 有 5 个值:

•none
•underline
•overline
•line-through
•blink

underline 会对元素加下划线,overline 的作用恰好相反,会在文本的顶端画一个上划线,line-through 则在文本中间画一个贯穿线,blink会让文本闪烁。

链接文本同时加上划线和下划线示例

超链接装饰自定义示例

 

 
 

九、文本方向

CSS2 引入了一个direction属性来描述其方向性。direction 属性有两个值:ltr 和 rtl。大多数情况下,默认值是 ltr,显示从左到右的文本。如果显示从右到左的文本,应使用值 rtl。

direction 属性影响块级元素中文本的书写方向、表中列布局的方向、内容水平填充其元素框的方向、以及两端对齐元素中最后一行的为止。

说明:
1.对于行内元素,只有当 unicode-bidi 属性设置为 embed 或 bidi-override 时才会应用 direction 属性。
2.对于中文来说,CSS2从右向左的排序,并不能达到我们期待的效果。

排序效果测试