如何使flex
子不重叠顶部填充?Flexbox。对齐项目中心不忽略填充
在这个例子中,儿童.large
居中居中,但由于身高较大,其顶部位于其父母的顶部边界之上。有没有办法来防止这种情况,并使.large
后.flex
填充顶部没有JS? flex-start
将是一个不好的解决方案,因为.flex
内的块可以有很小的高度,并且必须位于.flex
的中心。 .flex
必须定位为absolute
或fixed
。
https://jsfiddle.net/zoxamy9f/1/
.large {
background: red;
height: 200%;
flex: 1;
}
html, body {
height: 100%;
overflow: hidden;
}
.flex {
position: absolute;
left: 0;
top: 0;
width: 100%;
padding-top: 10%;
height: 100%;
background: black;
display: flex;
align-items: center;
justify-content: center;
overflow: auto;
}
<div class="flex">
<div class="large"></div>
</div>
也许我不理解不够好,但基本上,如果你有一个以%表示的宽度和高度,你不能在%使用填充。 尝试在'px'中给宽度和高度一个固定值。 –