简体   繁体   English

FLEXBOX min-width:min-content / max-width

[英]FLEXBOX min-width: min-content / max-width

I need this: 我需要这个:

Container width fixed width, items flowing in the row direction and wrapping at the end. 容器宽度固定宽度,物品在行方向流动并在末端包裹。

each item should be max-width: 400px , overflowing content should be cut. 每个项目应该是max-width: 400px ,应该删除溢出的内容。 the minimum width of the items should be determined by the content, however: it should never be shorter than 200px. 项目的最小宽度应由内容决定,但:它不应小于200px。

Here is my CSS code, it does not cover the "min-content" aspect. 这是我的CSS代码,它没有涵盖“min-content”方面。 min-content is suggested by the w3 in their flexbox working draft, but it does not seem to work in my case: w3在他们的flexbox工作草案中建议使用min-content,但在我的情况下它似乎不起作用:

.container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.container .box {
    -webkit-flex: 1;
    flex: 1;
    min-width: 200px;
    max-width: 400px;
    height: 200px;
    background-color: #fafa00;
    overflow: hidden;
}

and the html is: 和HTML是:

<div class="container">
    <div class="box">
        <table>
            <tr>
                <td>Content</td>
                <td>Content</td>
                <td>Content</td>
            </tr>
        </table>    
    </div>
    <div class="box">
        <table>
            <tr>
                <td>Content</td>
            </tr>
        </table>    
    </div>
    <div class="box">
        <table>
            <tr>
                <td>Content</td>
                <td>Content</td>
            </tr>
        </table>    
    </div>
    [...]
</div>

The problem is that flex: 1 sets flex-basis: 0 . 问题是flex: 1设置flex-basis: 0 Instead, you need 相反,你需要

.container .box {
  min-width: 200px;
  max-width: 400px;
  flex-basis: auto; /* default value */
  flex-grow: 1;
}

 .container { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; } .container .box { -webkit-flex-grow: 1; flex-grow: 1; min-width: 100px; max-width: 400px; height: 200px; background-color: #fafa00; overflow: hidden; } 
 <div class="container"> <div class="box"> <table> <tr> <td>Content</td> <td>Content</td> <td>Content</td> </tr> </table> </div> <div class="box"> <table> <tr> <td>Content</td> </tr> </table> </div> <div class="box"> <table> <tr> <td>Content</td> <td>Content</td> </tr> </table> </div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM