最近在做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。