文字行高设置,单行文字在父元素中居中

设置行高的属性:line-height
比如一段文本:

image.png

在未设置行高时,看起来比较拥挤。我们现在需要设置一下每一行文本之间的行间距,可以通过line-height属性进行控制,如下:

.p1{
    line-height: 40px;
}
image.png

这里绿色框之间的距离,为行间距,行间距 = 行高 - 字体大小

我们利用行高,还可以做单行文字在父元素中居中的效果,这里只需要讲行高的高度设置为跟父元素高度一样大小即可。但是这里需要注意的是,这里只对当行文本有效果,多行文本不行。
test.css

.content{
    width: 100%;
    height: 100px;
    background-color: #CCCCCC;
}

.content .p1{
    line-height: 100px;
}

test.html

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" href="css/test.css" />
        <link rel="stylesheet" href="css/reset.css" />
    </head>

    <body>
        <div class="content">
            <p class="p1">
                hello world ! 高度塌陷是指父元素在未指定高度的情况下(高度自适应子元素高度),其内部的子元素因为设置了浮动属性,脱离文档流,导致父元素高度因为子元素的脱离变成了0。
            </p>
        </div>

    </body>

</html>
image.png

注意
设置行高时,有一个地方需要注意,当line-height属性与font属性合用时,要使line-height设置的高度生效,line-height的声明位置要在font之后。因为font有默认的行高,比如{font: 10px/100px, "微软雅黑"}。如果line-height在font之前就声明了,那么在font中会覆盖line-height的值。
test.css

.content{
    width: 100%;
    height: 100px;
    background-color: #CCCCCC;
}

.content .p1{
    line-height: 100px;
    font: 20px "微软雅黑";
}

image.png

修改后的test.css

.content{
    width: 100%;
    height: 100px;
    background-color: #CCCCCC;
}

.content .p1{
    font: 20px "微软雅黑";
    /*在font之后声明*/
    line-height: 100px;
}

image.png

当然,也可以直接这样:

.content{
    width: 100%;
    height: 100px;
    background-color: #CCCCCC;
}

.content .p1{
    font: 20px/100px "微软雅黑";
}

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。