我有一个包含两个项目的flexbox布局。其中一个使用padding-bottom:
#flexBox {
border: 1px solid red;
width: 50%;
margin: 0 auto;
padding: 1em;
display: flex;
flex-direction: column;
}
#text {
border: 1px solid green;
padding: .5em;
}
#padding {
margin: 1em 0;
border: 1px solid blue;
padding-bottom: 56.25%; /* intrinsic aspect ratio */
height: 0;
}
<div id='flexBox'>
<div id='padding'></div>
<div id='text'>Some text</div>
</div>
当页面被调整大小时,蓝色元素根据其宽度保持纵横比。
这适用于Chrome和IE,效果如下:
然而,在Firefox和Edge上,我得到了以下结果(它忽略了蓝盒子上的填充,这是维持纵横比的原因):
我对弹性盒子太陌生了,无法真正理解这是否应该起作用。弹性盒子的整个目的是调整大小,但我不确定为什么它忽略了固有填充,并给蓝色元素设置绝对大小。
我猜最终我甚至不确定Firefox或Chrome是否在做正确的事情!有哪位Firefox弹性盒子专家能帮忙吗?