所以我需要显示一个框(绝对位置)在我的网页上时,点击一些按钮设计,在这个框内将是一个列表的“标签”,应该显示在一行。但我的问题是,我不能管理,使标签 Package 正确,占用最大的空间框。我想显示尽可能多的标签在一行。
你觉得这可能吗?
https://jsfiddle.net/e18d2ajh/
.vectors {
display: inline-flex;
min-width: 20vw;
max-width: 50vw;
background-color: #333;
padding: 15px;
margin-bottom: 15px;
}
.vector {
display: flex;
padding: .35rem;
background-color: #c0c0c0;
margin-right: .5rem;
}
<h5>
with few boxes
</h5>
<div class="vectors">
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
</div>
<h5>
with many boxes
</h5>
<div class="vectors">
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
<div class="vector">
Random text
</div>
</div>
3条答案
按热度按时间rggaifut1#
使用
flex-wrap
属性将内容换到下一行x一个一个一个一个x一个一个二个x
bnl4lu3b2#
您需要为
.vectors
指定一个flex-wrap: wrap
,为.vector
指定一个flex-grow: 1
,这样子元素就可以占用换行后行中剩余的空间。注意,最后一行可能看起来很难看,解决方案是使用伪元素。摘要:这是codepen
l7wslrjt3#
你可以用
flex-wrap:wrap
在.vectores
上设置max-width:max-content
,这样就可以完成这个任务,如下所示: