使flex项目同样成长(并扩展父容器)。

问题描述 投票:0回答:1

我想动态地增长一些弹性项目的内容,而所有其他项目的大小始终是最大的兄弟姐妹。我的问题是,我也希望项目能使容器增长,而容器没有固定的尺寸。这里有一个fiddle,应该比较容易理解。https:/jsfiddle.netuxjs5eL63 我希望能按下按钮N次,所有的橙色方块在成长的同时保持同等大小。

这在flexbox中可以实现吗?如果不可能,我如何才能达到预期的效果?

下面是JSFiddle的代码,因为我需要提供一些。

var dimension = 180;

function grow() {
  document.getElementById("grower").style.height = dimension + "px";
  document.getElementById("grower").style.width = dimension + "px";
  dimension = dimension + 20;
}
.container {
  display: flex;
  min-width: 200px;
  min-height: 200px;
}

.item {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;
  background-color: orange;
  border: 1px solid grey;
}

#grower {
  width: 160px;
  height: 160px;
  background-color: yellow;
}
<button onclick="grow()">
Grow!
</button>

<div class="container">
  <div class="item">
    <div id="grower">
    
    </div>
  </div>
  <div class="item">
    
  </div>
  <div class="item">
    
  </div>
</div>
html css sass flexbox web-deployment
1个回答
0
投票

如果你给元素设置特定的宽度,那么flex-box将无法工作,设置宽度很重要吗?如果你只设置高度,并与作为 100% 那么它就会工作。最终你可以设置 overflow: hidden 但我认为剪切内容将是坏事。

© www.soinside.com 2019 - 2024. All rights reserved.