CSS——对height和line-height的理解

最近在做CSS界面时经常遇到line-height和height这两个属性,一直没搞很明白,今天静下心来好好网上查阅了一下,算是有所领悟。https://blog.csdn.net/a2013126370/article/details/82786681这个博主写的很不错,至少让我对line-height和height的理解更深刻了,值得借鉴。

一、一些基本概念

1.行高是指文本行基线间的垂直距离(也叫行距)

2.行间距是上行的底线和下一行顶线之间的距离

我个人理解,可以得出以下结论:

1. 在没有设置div的height属性时,div的高度是根据line-height的大小而变化,并不受font-size的影响。

2. height是用来设置元素的高度,比如img的高度、div的高度等。line-height 属性是用来设置行距(行高),两者并不是同一个概念。

二、代码实例

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>sdds</title>
        <style>
            html,body,div{
                margin: 0;
                padding: 0;
                border: 0;
            }
            .bg0{
                width: 200px;
                height: 45px;
                line-height: 100px;
                background-color: red;
                font-size: 10px;
                word-wrap:break-word;
            }
            .bg1{
                width: 200px;
                height: 10px;
                background-color: green;
            }
            .bg2{
                width: 200px;
                height: 45px;
                background-color: yellow;
            }
            .bg3{
                width: 200px;
                height: 55px;
                background-color: blue;
            }
        </style>
    </head>

<body>
    <div class="bg0">上海大学SHU(Shanghai University)是一所211大学</div>
    <div class="bg1"></div>
    <div class="bg2"></div>
    <div class="bg3"></div>
</body>
</html>

运行结果:

结论:可以看出,黄色背景div和蓝色背景div的height加起来就是类名为bg0的div的所设置的line-height=100px,而第一部分红色div设置的height=45px,是line-height减去fontsize后在除以2得到的,即(100-10)/2=45px。

posted @ 2018-12-13 12:43  蛋片鸡  阅读(1684)  评论(0编辑  收藏  举报