【发布时间】:2019-09-22 01:29:33
【问题描述】:
我有一个两列多行的弹性布局
我想丢失文本下方的空白空间,我不希望文本下方有这么大的空白,直到 div 结束并且下一行开始。
如何在不设置固定高度的情况下做到这一点?
(最好通过这张图片来解释)
.col-xs,
.col-sm {
position: relative;
}
.col-sm {
float: left;
}
.col-sm {
width: 91.66667%;
}
.flex-grid-component {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.flex-grid-component .flex-grid {
box-sizing: border-box;
flex: 0 1 auto;
display: flex;
border: 0 solid transparent;
flex-basis: 50%;
max-width: 50%;
border-width: 1.5vw;
}
.property-item-container {
width: 100%;
height: 100%;
background-color: black;
color: white;
position: relative;
}
.property-item-container .property-details {
display: flex;
}
<html>
<head>
</head>
<body>
<div class="col-xs col-sm">
<div class="flex-grid-component">
<div class="flex-grid">
<div class="property-item-container">
<div class="property-details">
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin a malesuada lorem, ut gravida metus. Cras elementum vitae mi a ornare. Curabitur eget congue diam, at dictum ante.
</div>
</div>
</div>
</div>
<div class="flex-grid">
<div class="property-item-container">
<div class="property-details">
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin a malesuada lorem, ut gravida metus. Cras elementum vitae mi a ornare. Curabitur eget congue diam, at dictum ante.
</div>
</div>
</div>
</div>
<div class="flex-grid">
<div class="property-item-container">
<div class="property-details">
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin a malesuada lorem, ut gravida metus. Cras elementum vitae mi a ornare. Curabitur eget congue diam, at dictum ante.
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
【问题讨论】:
-
看起来某处有一个
height: 100%。尝试将height: auto添加到弹性容器中。 -
或者将
align-content: flex-start添加到flex父级。包裹 flex 子项的高度在父项高度之间共享,因为align-content默认为stretch。 -
如果你不能证明它,它没有发生。 minimal reproducible example 是必需的。
-
@Paulie_D 你什么意思?我包含了演示它的代码,我在 Chrome 浏览器中打开并演示了这个 html 代码,我什至在我的 Chrome 浏览器中包含了它的外观图像来演示它
-
@Michael_B 谢谢,这实际上解决了我完整代码中的问题