当用户扩展他们的浏览器窗口时,我希望我的 css flexboxes 最多有 3 列。使用我当前的代码,它可以正确地向内弯曲,没有最小列数,但是当向外扩展时,它总是会自动将所有 flexboxes 扩展到一行。 http://jsfiddle.net/oq6prk1p/581/
在这种情况下,我尝试仅使用 css 文件来实现此目的,而根本不编辑 html 文件。到目前为止,这是我得到的最接近的:
html文件:
<main class="twit-container">
<article class="twit">
<div class="twit-icon">
<i class="fa fa-bullhorn"></i>
</div>
<div class="twit-content">
<p class="twit-text">
Sitting in web dev... This class is so awesome!
</p>
<p class="twit-attribution">
<a href="#">CSMajor2017</a>
</p>
</div>
</article>
<article class="twit">
<div class="twit-icon">
<i class="fa fa-bullhorn"></i>
</div>
<div class="twit-content">
<p class="twit-text">
text
</p>
<p class="twit-attribution">
<a href="#">BeaverBeliever</a>
</p>
</div>
</article>
<article class="twit">
<div class="twit-icon">
<i class="fa fa-bullhorn"></i>
</div>
<div class="twit-content">
<p class="twit-text">
text
</p>
<p class="twit-attribution">
<a href="#">NewtonRulez</a>
</p>
</div>
</article>
<article class="twit">
<div class="twit-icon">
<i class="fa fa-bullhorn"></i>
</div>
<div class="twit-content">
<p class="twit-text">
Huh?
</p>
<p class="twit-attribution">
<a href="#">ConfusedTweeterer</a>
</p>
</div>
</article>
<article class="twit">
<div class="twit-icon">
<i class="fa fa-bullhorn"></i>
</div>
<div class="twit-content">
<p class="twit-text">
text
</p>
<p class="twit-attribution">
<a href="#">Setup</a>
</p>
</div>
</article>
<article class="twit">
<div class="twit-icon">
<i class="fa fa-bullhorn"></i>
</div>
<div class="twit-content">
<p class="twit-text">
text
</p>
<p class="twit-attribution">
<a href="#">Punchline</a>
</p>
</div>
</article>
<article class="twit">
<div class="twit-icon">
<i class="fa fa-bullhorn"></i>
</div>
<div class="twit-content">
<p class="twit-text">
text
</p>
<p class="twit-attribution">
<a href="#">Hess</a>
</p>
</div>
</article>
<article class="twit">
<div class="twit-icon">
<i class="fa fa-bullhorn"></i>
</div>
<div class="twit-content">
<p class="twit-text">
text
</p>
<p class="twit-attribution">
<a href="#">TheIRS</a>
</p>
</div>
</article>
</main>
<button type="button" id="create-twit-button"><i class="fa fa-bullhorn"></i></button>
CSS文件:
.twit-container {
display: flex;
flex-wrap: wrap;
padding: 5%;
margin:-10px 0 0 -10px;
position: relative;
}
.twit {
display: inline-block;
padding: 20px;
width: 150px;
height: 200px;
margin: 10px 0 0 1%;
background-color: #fff;
border: 1px solid #ccc;
flex-grow: 1;
outline: 2px solid blue;
}
原文由 Martin 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以设置
flex-basis
属性.twit
告诉 flexbox 给每个.twit
的 _基本宽度_,然后拆分所有元素。尝试将以下 CSS 添加到
.twit
(我使用 30% 而不是 33% 来计算边距和填充,但你可以使用这个数字。)