使用 flex display 时避免挤压元素

Fed*_*Fed 1 html javascript css flexbox

我想在使用以下 CSS 代码时避免挤压元素,特别是对于Chrome 浏览器,ver. 39 .

此 CSS 代码在 Chrome 版本上运行良好。46. 但我需要使用旧版本,如谷歌浏览器 v.39。因为我使用这个版本作为包装器来创建桌面 PC 应用程序。

这是我想避免的挤压效果:

在此处输入图片说明

这里看起来不错:

在此处输入图片说明

#bascket {
  overflow: hidden;
  position: absolute;
  width: 100%;
  height: 52.9%;
  top: 14.72%;
  left: 0px;
  background: rgb(255, 255, 255);
  outline: none;
  cursor: -webkit-grab;
  display: flex;
  flex-direction: column-reverse;
  flex-grow: 1;
  flex-shrink: 1;
  justify-content: flex-start;
}
Run Code Online (Sandbox Code Playgroud)
<div id="bascket">
  <div class="order-item">
    <div class="oi-p1">1</div>
    <div class="oi-p2">Item Name 1</div>
    <div class="oi-p3"></div>
    <div class="oi-p4">77</div>
  </div>
  <div class="order-item">
    <div class="oi-p1">1</div>
    <div class="oi-p2">Item Name 2</div>
    <div class="oi-p3"></div>
    <div class="oi-p4">77</div>
  </div>
  <div class="vertical-line-1"></div>
  <div class="vertical-line-2"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是一个包装在桌面应用程序中的网络应用程序。我在这里所做的只是将项目添加到篮子区域。我使用这个 javascript 代码来添加项目:

var bascket = document.getElementById("bascket");
var item = document.createElement("DIV");
item.innerHTML = "...see the above full html code sample"
bascket.insertBefore(item, bascket.firstChild);
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

document.getElementById('bascket').style.height = '100%';

然后更好,但这改变了项目显示,我失去了显示最后一个项目的底部,请参阅此图像:

在此处输入图片说明

我想我应该玩高度伸展和合身,但我找不到如何做到这一点

Mic*_*l_B 10

flex-shrinkflex-grow属性仅适用于弯曲的物品。您将它们放在 flex 容器上。

默认设置是flex-shrink: 1无论如何,因此您的弹性项目( 的子项#bascket)具有此设置并允许收缩。

您可以flex-shrink: 0 在 flex items 上禁用收缩。

更多细节在这里: