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>

效果:

label原本是行内元素,如果你不设置display:inline-block的话是没有用的,你可以试一试

总结

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

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值