CSS-flex布局最后一个元素的宽度铺满剩余的空间

  本人对前端算不得精通,只能说熟悉,在公司项目中遇见各种问题,在此文集中进行记录。
  首先介绍下此次问题产生的原因,以及中间想到的方案以及最终解决方案。
  问题产生:项目中用到了组件拖动功能,拖动后的组件遮盖了查询条件因此需要进行修改,产生这一问题后首先想到的就是给条件集合div添加 "z-index: 999;" 这一属性,发现并不起作用(精通前端的小伙伴知道的话欢迎留言指导),然后我将这一属性添加到条件集合div的子功能项中,发现终于有作用了。效果如下。


拖动前.png
拖动后.jpg

  此时就会发现新的问题,我们的条件列中后半部分依然被遮盖了,这时我想的是在条件中在添加一个新的div,然后通关计算最后总的浏览器宽度减去最后一个div到左侧的宽度算出最后一个div的宽度进行设置,实际操作后发现,效果不理想,计算值总是变大,导致样式走样。猜测原因是因为条件布局中我使用的是flex导致(前边说了,前端只能说会,不敢说精通)。
  然后此时就想到了一个新的方案,就是新添加一个空白div,然后将空白div填满最后不就行了。这时候就涉及到使用flex的一个属性(flex-grow: 1;)。最终完美解决。


完善后拖动.png

  整体代码结构如下(为了方便只显示此功能,我做了简化):
 
查询条件1
查询条件2
此处模拟svg图的拖拽

你可能感兴趣的:(CSS-flex布局最后一个元素的宽度铺满剩余的空间)