今天在使用flex布局中,为了不新增额外的dom元素,直接将img元素放在flex容器的下一层,作为一个flex项目,但是为了横向排列,所以给img元素设置了宽度,但是高度没有随着宽度变化而变化(保持高宽比),情况如下:

/*html*/
...
<div class="flexBox">
    <img src="image.jpg" alt="img"/>
    <div class="others">
        ...
    </div>
</div>
...

/*css*/

.flexBox{
    display:flex;
}

.flexBox img{
    width:30%;
}

在这种情况下高度无法随着宽度自动变化,需要在父容器中添加这样的垂直方向的属性设置才行:

.flexBox{
    display:flex;
    align-items:center;
}

但是我还没找的这种解决方法的理论解释是什么,所以有大家有理论解释的可以指点一下吗???!!!!!!!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐