提示
本文主要讲解 CSS 中文本的相关样式。@ermo
# 文本样式
字体样式是针对文字本身的样式,文本更多的是对一段文字添加样式。
# text-indent
text-indent 表示首行缩进,如果没有 CSS,通常使用   缩进一个字符。
使用 text-indent 让代码更加简洁。
<!DOCTYPE html>
<html lang="en">
<head>
    <style type="text/css">
        p {
            text-indent: 30px;
            font-size: 15px;
        }
    </style>
</head>
<body>
    <p>哈利总是喜欢开快车。有一次,他驾车急速转弯时,与另一辆车撞个正着。哈利急忙跳下车,跑过去一看,被撞的车原来是一个老头开的。那老头已吓得面如土色,但他一见哈利走过来,就怒吼道:“怎么搞的,你差点要了我的命!”“老人家,实在对不起,不要紧吧?”哈利一脸歉意,边说边拿出一个瓶子递进他的驾驶室,“喝点吧,你会觉得好些的。”</p>
    <p>老头接过瓶子,一口气喝了几口,又喘着粗气叫道:“你几乎要了我的老命!”哈利唯唯诺诺,又劝老头喝了几口。这次老头一扬脖子喝了个瓶底朝天,他抹抹嘴唇,转而笑着对哈利说:“谢谢。我现在觉得好多了。但你为什么不喝一点?”“哦,我现在不想喝威士忌,我要在这里等警察来。”哈利答道。</p>
</body>
</html>
开发过程中,将缩进像素设置为字体大小的2倍,表示首行缩进2个字符。
可以使用另一个单位 em,表示一个字体的大小,可以理解为相对与当前字体的几倍。
这样就不用关心字体的具体像素值。
# text-align
text-align 表示水平对齐,有三种取值:
- left,左对齐,为默认值
 - center,居中对齐
 - right,右对齐
 
<!DOCTYPE html>
<html lang="en">
<head>
    <style type="text/css">
        #div2 {
            text-align: left;
        }
        #div3 {
            text-align: center;
        }
        #div4 {
            text-align: right;
        }
    </style>
</head>
<body>
    <div id="div1">床前明月光,</div>
    <div id="div2">疑是地上霜。</div>
    <div id="div3">举头望明月,</div>
    <div id="div4">低头思故乡。</div>
</body>
</html>
text-align 可作用的标签元素有:
- 文本
 - span
 - a
 - input
 - img
 
开发过程中如果给一组元素进行居中,可以将该样式作用于这组元素的父标签上。
# text-decoration
text-decoration 表示文本修饰,有四种取值:
- none,无效果,为默认值
 - underline,下划线
 - line-through,中划线
 - overline,顶划线
 
<!DOCTYPE html>
<html lang="en">
<head>
    <style type="text/css">
        #div1 {
            text-decoration: none;
            text-align: center;
        }
        #div2 {
            text-decoration: underline;
            text-align: center;
        }
        #div3 {
            text-decoration: line-through;
            text-align: center;
        }
        #div4 {
            text-decoration: overline;
            text-align: center;
        }
    </style>
</head>
<body>
    <div id="div1">床前明月光,</div>
    <div id="div2">疑是地上霜。</div>
    <div id="div3">举头望明月,</div>
    <div id="div4">低头思故乡。</div>
</body>
</html>
none 一般用于去除超链接的下划线。
line-through 一般用于显示商品原价,突出折扣价格。
# text-transform
text-transform 表示大小写转换,只对英文字母有效果。
有四种取值方式:
- none,无转换,为默认值
 - uppercase,转化为大写
 - lowercase,转换为小写
 - capitalize,首字母大写
 
<!DOCTYPE html>
<html lang="en">
<head>
    <style type="text/css">
        #div1 {
            text-transform: none;
        }
        #div2 {
            text-transform: uppercase;
        }
        #div3 {
            text-transform: lowercase;
        }
        #div4 {
            text-transform: capitalize;
        }
    </style>
</head>
<body>
    <div id="div1">none</div>
    <div id="div2">uppercase</div>
    <div id="div3">lowercase</div>
    <div id="div4">capitalize</div>
</body>
</html>
# line-hight
line-height 表示行高,行高包括三部分:上间距、字体大小、下间距。

行高的单位有两种:
- 像素,比如50px
 - 数字,表示是字体大小的倍数
 
<!DOCTYPE html>
<html lang="en">
<head>
    <style type="text/css">
        #p1 {
            line-height: 50px;
        }
        #p2 {
            line-height: 2;
        }
    </style>
</head>
<body>
    <p id="p1">4月30日,五一小长假第1天,在西安出现了兵马俑景区俑比游客多的情况。因为疫情的影响,出现了相对往年游客数量锐减的状况。现场游客感叹,在景区内基本上看不见游客,停车场内只有少量车辆停放,甚至连导游都很清闲,这与往年火热的场面相比实属罕见。</p>
    <p id="p2">4月30日,五一小长假第1天,在西安出现了兵马俑景区俑比游客多的情况。因为疫情的影响,出现了相对往年游客数量锐减的状况。现场游客感叹,在景区内基本上看不见游客,停车场内只有少量车辆停放,甚至连导游都很清闲,这与往年火热的场面相比实属罕见。</p>
</body>
</html>
font 也可以加入行高,语法为:
font: style height size/line-height family;
# letter-spacing、word-spacing
letter-spacing 表示字间距,中文和英文都算一个字符。
word-spacing 表示词间距,用于定义两个单词之间的距离,一般用于英文单词。
<!DOCTYPE html>
<html lang="en">
<head>
    <style type="text/css">
        #p1 {
            letter-spacing: 50px;
        }
        #p2 {
            word-spacing: 20px;
        }
    </style>
</head>
<body>
    <p id="p1">Read what you love until you love to read. 阅读你喜欢的书籍直到你喜欢上阅读。</p>
    <p id="p2">Read what you love until you love to read. 阅读你喜欢的书籍直到你喜欢上阅读。</p>
   
</body>
</html>