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等块级元素或行内块元素的高度的。