CSS flex-basis: auto 与弹性布局

flex 布局中的问题 最近在开发一个移动端适配的 H5 应用时,遇到了一个布局上的问题。简单描述如下: 页面从上到下排列有多个元素,其中有几张图片。在高宽比较大的手机上展示时(也就是比较长的手机,例如 iPhone X),布局没什么问题。但在一些小手机上,屏幕的纵轴无法容纳这么多元素。特别当微信浏览器中出现下方的导航栏时,高宽比被进一步减小,纵轴空间更加局促了。 这个问题看起来不难。使用 flex 布局,让图片元素在小屏幕上自动控制高度,自适应等比缩放不就 OK 了吗?于是写出了如下的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <div class="page-container"> <!-- ...其他flex子项 --> <div class="image-wrap"> <!-- 为了实现多个动画效果,图片被一个div包裹 --> <img class="image" src="..." /> </div> <!-- ...其他flex子项 --> </div> <!-- vue css scope --> <style> ....

2021年1月26日 · ruihusky