CSS 一文搞懂height、line-height

197 阅读1分钟

CSS 一文搞懂height、line-height

借用网上的一张图

在这里插入图片描述

行距=line-height-font-size

当line-height小于font-size

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        div{
            font-size: 20px;
            width: 200px;
            background-color: red;
            line-height: 15px;
        }
    </style>
</head>
<body>
    <div>
        哈哈哈哈哈哈哈
        哈哈哈哈哈哈哈
    </div>
</body>
</html>

如果line-height小于font-size则会出现两行文字重叠的现象。

当line-height大于fonts-size

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        div{
            font-size: 20px;
            width: 200px;
            background-color: red;
            line-height: 30px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div>
        abcdefg<br/>
        abcdefg
    </div>
</body>
</html>

行距=30-20=10px;

当line-height等于font-size

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        div{
            font-size: 20px;
            width: 200px;
            background-color: red;
            line-height: 20px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div>
        abcdefg<br/>
        abcdefg
    </div>
</body>
</html>

因为我是门外汉,所有以前一直以为height、line-height有必然的联系,必须设置一样的值才能让文字垂直居中,其实line-height就是两行文字基线与基线之间的距离。line-height与font-size有关,而与height无关,height是用来设置div、img等块级元素或行内块元素的高度的。