【发布时间】:2020-03-22 17:10:45
【问题描述】:
我希望当弹性项目的总大小小于弹性容器时,弹性项目应该占据各自的空间;并且当弹性项目的总大小大于弹性容器时,弹性项目应该平均分配容器的空间。
因此,我将 flex-grow 设置为 0,将 flex-shrink 设置为 1。为了使 flex 项目缩小到小于其最小内容,我将 min-height 设置为 0。 但是无论我如何设置弹性项目的 flex-basis 属性,我都无法获得所需的样式。
当弹性项目的总大小小于弹性容器的大小时,image 右侧部分的示例 1 是预期的。当弹性项目的总大小大于弹性容器的大小时,image 左侧的示例 2 是预期的。
.flex-container {
font-size: 12px;
display: flex;
flex-direction: column;
width: 200px;
height: 180px;
border: 1px solid #dadfe3;
justify-content: space-evenly;
}
.flex-item {
flex: 0 1 auto;
min-height: 0;
overflow: auto;
margin: 0 20px;
max-height: 50%;
}
.flex-item div {
margin: 4px 0;
background-color: #f0f9ff;
color: #2f88ff;
}
<body>
<h2>Example 1</h2>
<div class="flex-container">
<div class="flex-item">
<input type="text" placeholder="filter 1">
<div>item content 1</div>
<div>item content 2</div>
<div>item content 2</div>
<div>item content 4</div>
</div>
<div class="flex-item">
<input type="text" placeholder="filter 2">
</div>
</div>
<h2>Example 2</h2>
<div class="flex-container">
<div class="flex-item">
<input type="text" placeholder="filter 1">
<div>item content 1</div>
<div>item content 2</div>
<div>item content 3</div>
<div>item content 4</div>
<div>item content 5</div>
<div>item content 6</div>
</div>
<div class="flex-item">
<input type="text" placeholder="filter 2">
<div>item 1</div>
<div>item 2</div>
<div>item 3</div>
<div>item 4</div>
<div>item 5</div>
<div>item 6</div>
<div>item 7</div>
<div>item 8</div>
<div>item 9</div>
<div>item 10</div>
<div>item 11</div>
<div>item 12</div>
<div>item 13</div>
<div>item 14</div>
<div>item 15</div>
</div>
</div>
</body>
【问题讨论】:
-
想要的风格是什么?您想在这里实现什么目标?
-
我添加了一张图片来提供问题。