用flexbox填充垂直空间

时间:2019-11-11 03:14:58

标签: html css flexbox

我第一次使用flexbox,有些物品的高度不同。我正在尝试获取由长图像创建的空白空间,或者可能是由许多其他项目填充的大量文本。

以下图片显示了我如何移动div: Red arrows show the direction I want filled in

HTML:

<div id="noises">  
<div class="card text" title=" On a Sunday at 3:24 a.m. ">
    <strong><p> Test title</p></strong>
    <p> test</p>
</div>

<div class="card text" title=" On a Sunday at 3:24 a.m. ">
    <strong><p> title</p></strong>
    <a href="#" target="_blank">
        <img src="https://via.placeholder.com/100x150" style="max-width:-webkit-fill-available;max-width:-moz-available">
    </a>
</div>
<div class="card text" title=" On a Sunday at 3:24 a.m. ">
    <strong><p> title</p></strong>
    <a href="#" target="_blank">
        <img src="https://via.placeholder.com/170x130" style="max-width:-webkit-fill-available;max-width:-moz-available">
    </a>
</div>

<div class="card text" title=" On a Sunday at 3:24 a.m. ">
    <strong><p> Lorem ipsum dolor sit amet</p></strong>
    <p> Lorem ipsum</p>
</div>

<div class="card text" title=" On a Sunday at 3:24 a.m. ">
    <strong><p> title</p></strong>
    <a href="#" target="_blank">
        <img src="https://via.placeholder.com/300x648" style="max-width:-webkit-fill-available;max-width:-moz-available">
    </a>
</div>

<div class="card text" title=" On a Sunday at 3:24 a.m. ">
    <strong><p> Test title</p></strong>
    <p> test</p>
</div>

<div class="card text" title=" On a Sunday at 3:24 a.m. ">
    <strong><p> Test title</p></strong>
    <p> test</p>
</div>

CSS:

#noises, .noises{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-start;
    height:auto;
    margin:auto;
}
.noise_column{
    flex:30%;
    max-width:30%;
    padding: 0 4px;
}
.noise_column img {
    margin-top: 8px;
    vertical-align: middle;
    max-width:300px;
}
#noises > div, .card{
    min-width: 300px;
    max-width: 300px;
    margin-bottom: 1em;
    padding: 0.5em 0.5em 0.5em 2em;
    margin: 1em;
    border: 2px solid #515151;
    border-radius: 0px 15px 0px 15px;
}
.card, .card > img{
    max-width:300px;
}

Codepen: https://codepen.io/ddefreitas/pen/wvvxgaW

1 个答案:

答案 0 :(得分:0)

这应该足够-:

#noises, .noises{
    display:flex;
    // flex-direction:row;  ------>   **flex-direction:column;**
    **max-height: 1500px;**
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-start;
    height:auto;
    margin:auto;
}