我一直在绞尽脑汁使用以下命令在CSS中创建垂直对齐方式
.base{
background-color:green;
width:200px;
height:200px;
overflow:auto;
position:relative;
}
.vert-align{
padding-top:50%;
height:50%;
}
<!-- and used the following div structure. -->
<div class="base">
<div class="vert-align">
Content Here
</div>
</div>
尽管这似乎适用于这种情况,但令我感到惊讶的是,当我增加或减小基本div的宽度时,垂直对齐方式会对齐。我期望当我设置padding-top属性时,会将填充值作为父容器高度的百分比(在我们的示例中为基数),但是上述50%的值是按宽度。:(
有没有一种方法可以将填充和/或边距设置为高度的百分比,而无需使用JavaScript?
50%的填充不会使您的孩子居中,它将放置在中心下方。我认为您真的希望填充率达到25%。也许随着内容的增加,您的空间即将用完?您是否也尝试过设置margin-top而不是padding-top?
编辑:没关系,w3schools网站说
所以也许它总是使用宽度?我从没注意到。
可以使用display:table来实现您正在做的事情(至少对于现代浏览器而言)。该技术在这里进行说明。