我制作了一个flexbox布局,在主布局flexbox中嵌套了一些正方形的flexbox。它在Chrome和IE中可以正常工作,但Firefox v37.02不会使它们成平方或根本不显示它们。

我希望容器本身是主要布局的弹性框,因此我可以使用媒体查询重新排列它们,并将内容弹性框包装在可用空间中。

这是一个小提琴示例https://jsfiddle.net/SanMoll/jj591x8f/

<div class="main">
    <div class="article">
        <div class="itemXL"></div>
        <div class="itemXL"></div>
    </div>
    <div class="aside">
        <div class="itemL"></div>
        <div class="itemL"></div>
        <div class="itemL"></div>
        <div class="itemL"></div>
    </div>
</div>
<style>
    .main {
        display:flex;
        width:100%;
        height:100%;
        background-color:#000;
    }
    .article {
        /*  display: flex;*/
        flex-wrap: wrap;
        flex-direction: column;
        width: 50%;
        flex: 1;
    }
    .itemXL {
        background-color: #f4f4f4;
        width: 97%;
        height:0;
        margin-right: 3%;
        margin-bottom: 3%;
        padding-bottom: 97%;
    }
    .aside {
        /*display: flex;*/
        flex-wrap: wrap;
        flex-direction: row;
        width: 50%;
    }
    .itemL {
        background-color: #f4f4f4;
        width: 47%;
        height:0%;
        margin-right: 3%;
        margin-bottom: 3%;
        padding-bottom:47%;
    }
</style>


任何帮助深表感谢。
预先感谢!

最佳答案

您可以使用flex-basis,就像元素的宽度一样,但是用于flexbox。

例如flex-basis:50%;

并在媒体查询中:flex-basis:100%; (如果包裹了flex-wrap,则容器会将其他容器下推)

您还应该以数字开头而不是数字开头,可以在前面加上“ _”,这样就可以了

如果您在浏览器支持方面遇到问题,只需添加它以确保它可在所有浏览器中使用

  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

关于css - firefox v.37嵌套平方 flex 盒,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30166906/

10-13 02:46