最近的有一个需求是这样的
数据是后端返回的,v-for渲染。要求一行最多三个, 如果是5个, 第二行的俩个要平分, 如果是4个, 第四个图要独占一行。
如果用js 进行计算length 的话, 就太麻烦了。
于是我发现了 flex-grow, 这一神仙属性。
flex-grow
详细解释:
container就是父容器,B1 B2 B3就是子容器,假如container的width是500px,那么剩余空间就是:500px - B1.width - B2.width - B3.width。嗯就是这么简单!
##flex-grow (default:0) 知道了剩余空间的概念,首先来看一下flex-grow。上面那个例子,我们假设container的width是500px,现在我们再假设B1、B2、B3的width是100px,那么剩余空间就是500-100*3=200。 知道了剩余空间有什么用呢?这个时候flex-grow就该出场了,假如我们这个时候对B1设置flex-grow:1,那么我们会发现,B1把B2和B3都挤到右边了,也就是说剩余的200px空间都被B1占据了,所以此时B1的width比实际设置的值要大。