CSS vertical-align无效

问题发现
我们有的时候想垂直居中,我们就写上vertical-align:middle,但是大多数情况下是不起作用的,你知道是为什么嘛?

我的发现
vertical-align:middle这个属性必须和line-height一起使用,就是说它的什么top、middle、bottom这三个属性值都是相对于line-height的,分别的含义是,行高上,行高居中,行高底。

而且还要注意的是vertical-align这个属性是加在子元素上的,并不是加在父元素上的。而且这个子元素必须是行内块元素才有效。

css

.father{
	width: 100px;
	height: 100px;
	line-height: 100px;
	background-color: #00B5EE
}
.child{
	display: inline-block;
	width: 50px;
	height: 50px;
	vertical-align: middle;
	background-color: #10375E;
}

html

<div class="father">
		<div class="child">111</div>
</div>

效果:

总结

1.vertical-align必须对子元素设置,不是对父元素设置
2.必须设置line-height,不然不会起作用
3.vertical-align只对inline-block/inline元素有效