【问题标题】:Avoid squeezing of elements when using flex display使用弹性显示时避免挤压元素
【发布时间】:2017-04-24 00:54:30
【问题描述】:

我想在使用下面的 CSS 代码时避免挤压元素,特别是对于 Chrome 浏览器,版本。 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;
}
<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>

这是一个封装在桌面应用程序中的网络应用程序。我在这里所做的只是将物品添加到篮子区域。我使用此 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);

如果我这样做:

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

那就更好了,但这会改变项目显示,我失去了显示最后一个项目的底部,请看这张图片:

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

【问题讨论】:

  • 我试图使父元素具有自动大小,使用这个:height:auto;这将更好地显示篮子中的元素,但随后会出现其他问题,并且篮子会将其内容扩展到其他元素,这再次使屏幕混乱:(

标签: javascript css html flexbox


【解决方案1】:

flex-shrinkflex-grow 属性仅适用于弹性项目。您将它们放在 flex 容器上。

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

您可以在弹性项目上使用flex-shrink: 0 禁用收缩

更多细节在这里:

【讨论】:

  • @Fed 我认为他的意思是把flex-shrink: 0 放在#basket 的孩子身上。 Basket 是 flex 容器,就像你现在的代码一样,flex-shrink/grow 没有做任何事情。
  • @chazsolo 是的,你是对的,我应该把它放在#bascket 的每个子节点上......我的错误,之前我试图把它放在父节点 #bascket 和 # 的每个项目的子节点上篮子,所以它应该在#bascket的孩子,而不是孩子的孩子:)
猜你喜欢
  • 2015-10-16
  • 2017-03-08
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
相关资源
最近更新 更多