当给.inner设置height的时候里面的文字就跑到下面了,为什么啊?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.test {
line-height: 200px;
background-color: #ccc;
}
.test .inner {
display: inline-block;
height: 20px;
width: 100px;
vertical-align: middle;
background-color: yellow;
}
.test .text {
display: inline-block;
/*height: 20px;*/
width: 100px;
/*vertical-align: bottom;*/
background-color: rgb(240, 20 ,20)
}
</style>
</head>
<body>
<div class="test">
<span class="inner">ddd</span>
<span class="text">我是文字</span>
</div>
</body>
</html>
如果你将文字也理解成节点就好解释了
由于inner是行内元素,
vertical-align: middle;
是对自身的一个垂直居中inner的行高继承了父盒子的,文字的行高也为200px,因此会在下面,也是因为其行高
给inner添加line-height:20px后就OK了