使用CSS时flexbox,三个主要浏览器在某些区域的行为似乎完全不同。
flexbox
在这种情况下,我试图创建一个图像网格:
<div class="container"> <div class="photo"></div> <div class="photo"></div> <div class="photo"></div> <div class="photo"></div> <div class="photo"></div> <div class="photo"></div> </div> .container { display:inline-flex; flex-flow : column wrap; align-content : flex-start; height : 100%; }
在此示例中,我需要一个容器,该容器本身包含几个div设置为从上到下流动并在到达底部时进行包装的元素。最终为我提供了照片列。
div
但是我需要容器水平扩展以容纳包装好的元素:
行为如下:
在这种情况下,我想在其他两种浏览器中实现IE11的行为。因此,我的问题是,如何使flexbox容器水平扩展以匹配其column wrap内容。
column wrap
提前致谢。
似乎仅靠CSS无法解决此问题,因此我向您提出了一种JQuery解决方案
容器宽度=最后一个子项的位置-容器的位置+最后一个子项的宽度(包括边距)
代码:
$(document).ready(function() { $('.container').each(function( index ) { var lastChild = $(this).children().last(); var newWidth = lastChild.position().left - $(this).position().left + lastChild.outerWidth(true); $(this).width(newWidth); }) });