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
}
label{
    display: inline-block;
    width: 50px;
    height: 50px;
    vertical-align: middle;
    background-color: #10375E;
}

html

<div class="father">
    <label></label>
</div>

效果:

 

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

总结

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

 

转自 https://blog.csdn.net/chengqige/article/details/118898166

 

posted @ 2022-05-31 16:36  ×千  阅读(79)  评论(0编辑  收藏  举报