![CSS3网页设计从入门到精通(微课精编版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/800/26846800/b_26846800.jpg)
3.2 设计文本样式
文本样式主要用于设计正文的排版效果,属性名以text为前缀进行命名,下面分别进行介绍。
3.2.1 定义文本对齐
使用CSS3的text-align属性可以定义文本的水平对齐方式,用法如下:
text-align: left | right | center | justify
其中left为默认值,表示左对齐;right为右对齐;center为居中对齐;justify为两端对齐。
【示例】新建test.html文档,在内部样式表中定义3个对齐类样式。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P67_86110.jpg?sign=1739549203-higM1VwgPBuCfGM6XE1EGoq7P3EHGMOn-0-5d5a57be9f13a47b0b8b1a1b7ccbe1a6)
然后在<body>标签中输入3段文本,并分别应用这3个类样式。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P67_86111.jpg?sign=1739549203-Pf7lFbUhfqLITCIkJMux9uJbSB3WvPyC-0-7b9f3f5160bc863601d4ec60a498f52f)
在浏览器中预览,比较效果如图3.6所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P67_19218.jpg?sign=1739549203-iNx2lAigEUEwgVeIIGt2xwC8vU2MybPq-0-d5f2cce9449e769abeb89cea07ede7d7)
图3.6 比较3种文本对齐效果
提示:CSS3为text-align属性新增多个属性值,简单说明如下。
justify:内容两端对齐(CSS2曾经支持过,后来放弃)。
start:内容对齐开始边界。
end:内容对齐结束边界。
match-parent:与inherit(继承)表现一致。
justify-all:效果等同于justify,但还会让最后一行也两端对齐。
由于大部分浏览器对这些新属性值支持不是很友好,读者可以暂时忽略。
【拓展】
text-align属性仅对行内对象有效,如文本、图像、超链接等,如果想让块元素对齐显示,如设计网页居中显示,设计<div>标签右对齐等,则需要特殊方法,感兴趣的读者可以扫码深入阅读。
3.2.2 定义垂直对齐
使用CSS3的vertical-align属性可以定义文本垂直对齐,用法如下:
vertical-align: auto | baseline | sub | super | top | text-top | middle | bottom | text-bottom | length
取值简单说明如下。
auto将根据layout-flow属性的值对齐对象内容。
baseline为默认值,表示将支持valign特性的对象内容与基线对齐。
sub表示垂直对齐文本的下标。
super表示垂直对齐文本的上标。
top表示将支持valign特性的对象的内容对象顶端对齐。
text-top表示将支持valign特性的对象的文本与对象顶端对齐。
middle表示将支持valign特性的对象的内容与对象中部对齐。
bottom表示将支持valign特性的对象的内容与对象底端对齐。
text-bottom表示将支持valign特性的对象的文本与对象底端对齐。
length表示由浮点数字和单位标识符组成的长度值或者百分数,可为负数,定义由基线算起的偏移量,基线对于数值来说为0,对于百分数来说就是0%。
【示例】新建test1.html文档,在<head>标签内添加<style type="text/css">标签,定义一个内部样式表,然后输入下面样式,定义上标类样式。
.super {vertical-align:super;}
然后在<body>标签中输入一行段落文本,并应用该上标类样式。
<p>vertical-align表示垂直<span class=" super ">对齐</span>属性</p>
在浏览器中预览,则显示效果如图3.7所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P68_19310.jpg?sign=1739549203-Di54TOVxpzhpKQ0HCq480RwtablnkkgU-0-1f7737ef5ce9d6b76b21ff19253add62)
图3.7 文本上标样式效果
【拓展】
vertical-align属性仅对行内对象有效,如文本、图像、超链接等,如果想让块元素对齐显示,需要特殊方法,感兴趣的读者可以扫码深入阅读。
3.2.3 定义文本间距
使用CSS3的letter-spacing属性可以定义字距,使用CSS3的word-spacing属性可以定义词距。这两个属性的取值都是长度值,由浮点数字和单位标识符组成,默认值为normal,表示默认间隔。
定义词距时,以空格为基准进行调节,如果多个单词被连在一起,则被word-spacing视为一个单词;如果汉字被空格分隔,则分隔的多个汉字就被视为不同的单词,word-spacing属性此时有效。
【示例】下面示例演示如何定义字距和词距样式。
新建一个网页,保存为test.html,在<head>标签内添加<style type="text/css">标签,定义一个内部样式表,然后输入下面样式,定义两个类样式。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P69_86113.jpg?sign=1739549203-46apwk16krpZ2v6FsAMe1X9TyJAEG9XO-0-fdb46bae854ae8cb33b91c9114ba23fa)
然后在<body>标签中输入两行段落文本,并应用上面两个类样式。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P69_86114.jpg?sign=1739549203-CdYqD0gztEVlK74l89IQM7JDgUoFUMu1-0-09c662620a102b3310b34bdb4634c19a)
在浏览器中预览,则显示效果如图3.8所示。从图中可以直观地看到,所谓字距就是定义字母之间的间距,而词距就是定义西文单词的距离。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P69_19371.jpg?sign=1739549203-qCDVRt5bzZ9JUMpdlilPdq9lEabYgExr-0-d202d5bcc109c73b8b0fbf46a704be60)
图3.8 字距和词距演示效果比较
注意:字距和词距一般很少使用,使用时应慎重考虑用户的阅读体验和感受。对于中文用户来说,letter-spacing属性有效,而word-spacing属性无效。
3.2.4 定义行高
使用CSS3的line-height属性可以定义行高,用法如下:
line-height : normal | length
其中normal表示默认值,一般为1.2em;length表示百分比数字,或者由浮点数字和单位标识符组成的长度值,允许为负值。
【示例】新建test.html文档,在<head>标签内添加<style type="text/css">标签,定义一个内部样式表,输入下面样式,定义两个行高类样式。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P69_86116.jpg?sign=1739549203-ejEo04frm3XbGoA9NJLa8mwTGuasTFUT-0-0ae061448cf0d8033e184131e6cbe325)
然后在<body>标签中输入两行段落文本,并应用上面两个类样式。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P69_86117.jpg?sign=1739549203-Oosq3tqMqIM5TKzAA4RO8sUJ0SNLDyVy-0-6e236f6cc1fa6695599d926ff87fc6b7)
在浏览器中预览,则显示效果如图3.9所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P70_19513.jpg?sign=1739549203-KEZZ1xPcDqMKALxgkewhA9uwaTL95XOX-0-2f604da46b084d03c8ac7c29e5d3b215)
图3.9 段落文本的行高演示效果
【拓展】
line-height属性的用法比较复杂,灵活使用该属性,可以设计很多特殊效果,感兴趣的读者可以扫码深入阅读。
3.2.5 定义首行缩进
使用CSS3的text-indent属性可以定义文本首行缩进,用法如下:
text-indent: length
length表示百分比数字或者由浮点数字和单位标识符组成的长度值,允许为负值。建议在设置缩进单位时,以em为设置单位,em表示一个字距,这样可以比较精确地确定首行缩进效果。
【示例1】使用text-indent属性设计首行缩进效果。
新建test.html文档,在<head>标签内添加<style type="text/css">标签,定义一个内部样式表,输入下面样式,定义段落文本首行缩进2个字距。
p {text-indent:2em;} /*首行缩进2个字距*/
然后在<body>标签中输入如下标题和段落文本。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P70_86119.jpg?sign=1739549203-stpZ1VpkXF3aYb6O07EGJJlLnIdEfbxN-0-cd9f1579fbe4a35dcfcbd818d242efab)
在浏览器中预览,则可以看到文本缩进效果,如图3.10所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P71_19691.jpg?sign=1739549203-excucbtQlLWR8jp4oqXFieNjRM5sJINU-0-2dd5d6e4db018d9e50a165ce98e937f7)
图3.10 首行缩进效果
【示例2】使用text-indent属性设计悬垂缩进效果。
新建一个网页,保存为test1.html,在<head>标签内添加<style type="text/css">标签,定义一个内部样式表。输入下面样式,定义段落文本首行缩进负的2个字距,并定义左侧内部补白为2个字距。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P71_86120.jpg?sign=1739549203-p9L6eK8QoRPnwrdlcWjOyPl9H4Mr86XY-0-ac8e6bbde6f34dbb4305f002d12a34d3)
text-indent属性可以取负值,定义左侧补白,防止取负值缩进导致首行文本伸到段落的边界外边。
然后在<body>标签中输入如下标题和段落文本。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P71_86121.jpg?sign=1739549203-droqMAnSYOxtC91BtIXUaRXxRHll3EHM-0-8bb509474ab46a066d83041169176c44)
在浏览器中预览,则可以看到文本悬垂缩进效果,如图3.11所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P71_19692.jpg?sign=1739549203-3eVFGWXF5UtTSJnDlUOX3XobVW2CwGYe-0-e466c60d7e46a1e6cb4fdece43bdb21e)
图3.11 悬垂缩进效果