我有一个用子元素动态填充的容器。各个子元素的width属性是从后端检索的,百分比为100%。这是因为期望的效果是,孩子们彼此之间保持大小比例。
.wrapper {
display: flex;
width: 100%;
}
.item {
overflow: hidden;
height: 20px;
}
<div class="wrapper">
<div class="item" style="width: 30%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 15%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 5%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 40%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 10%">Lorem ipsum dolor sit amet</div>
</div>
问题在于,孩子的数量可以是任意的,他们越多,他们变得越被挤压。因此停止播放以适应内容。
因此,我希望它们具有最小宽度,并且能够水平滚动容器,同时仍保留从数据库中检索到的比例。
我尝试过:
因此,我需要一个将两者结合但似乎无法解决的解决方案。我将不胜感激。
答案 0 :(得分:0)
您可以在flex-wrap: wrap
上使用.wrapper
,以便当子代无法适应父代的宽度时,他们将直接转到另一行。这样,它们可以轻松地水平放置,但是可以垂直延伸。
.wrapper {
display: flex;
flex-wrap: wrap;
width: 100%;
}
.item {
overflow: hidden;
height: 20px;
}
<div class="wrapper">
<div class="item" style="width: 30%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 15%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 5%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 40%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 10%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 30%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 15%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 5%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 40%">Lorem ipsum dolor sit amet</div>
<div class="item" style="width: 10%">Lorem ipsum dolor sit amet</div>
</div>