【问题标题】:flex-grow won't resize in proportionflex-grow 不会按比例调整大小
【发布时间】:2015-11-26 04:16:06
【问题描述】:

我正在创建一个具有 2 列布局或 3 列布局的响应式网站。

我正在使用 flex-box,因为我想为它们设置一个顺序。

我希望这些框能填满最大可用空间。

Flexbox 工作完美,除了图像不会按比例调整大小(如您在我的代码中看到的那样)通常我会将 100% 宽度和 padding-bottom % 应用于 div 但 flex-box 项目似乎不允许这样做方法。

如果有帮助,图片都是 300 像素宽。我尝试将 flex-box 类应用于图像,因为我希望我可能会有更多的运气。还没有……

任何建议都会很棒。

      <div class="flex-container">
             <img class="flex-item" src="image.png"   alt=""/>
             <img class="flex-item" src="image.png"   alt=""/>
             <img class="flex-item" src="image.png"   alt=""/>
             <img class="flex-item" src="image.png"   alt=""/>
             <img class="flex-item" src="image.png"   alt=""/>
             <img class="flex-item" src="image.png"   alt=""/>
     </div>

CSS

.flex-container {
  list-style: none;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  background-color:#99C;
  flex-direction: row;
  justify-content: center;

}


.flex-item {
      flex-grow:1;
}

【问题讨论】:

  • 您希望保留图像的宽度和高度而不是拉伸。我说得对吗?
  • 我希望图像在限制其比例的同时放大和缩小。反应灵敏但不失真。谢谢!
  • 将媒体屏幕用于不同的视口并使您的图像具有响应性..
  • 我真的很想要 fly-box,因为它的订单功能。考虑到 flex-box 一直用于图像网格,这不是一个常见的问题,我真的很惊讶。

标签: html css flexbox


【解决方案1】:

为图像添加包装器:

<div class="flex-item">
<img src="%path%" />
</div>

还有css

img{
width: 100%;
max-width: 100%;
height: auto;
}

http://jsfiddle.net/ea2xh9we/

【讨论】:

  • 不幸的是,虽然图像比例保持相对,这是我想要的,但它们不再是网格,而是每行只有一个图像。
  • 你打开小提琴链接了吗?此代码将所有相关图像放在同一行,它在 FF、Chrome 和 IE10+ 中运行良好。 Flex 使所有.flex-item 容器大小相同,然后将图像填充到其宽度的 100% 并通过自动设置高度。另一个版本的不同大小图像的小提琴:jsfiddle.net/ea2xh9we/1
  • 嘿,我做到了,但它只显示了一个非常宽的图像。尽管最终使用了普通的浮动元素和媒体查询,但这个效果更好。我曾想使用 order 属性,但我放弃了。非常感谢您的帮助。
  • 啊,我真是个木偶,我才意识到这不是一张长图,只是没有边距。对不起 - 真是个白痴。我可能会回到这个:)
  • 你的代码没有边距,我做的太相似了:)
猜你喜欢
  • 1970-01-01
  • 2016-04-11
  • 2011-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-25
  • 1970-01-01
  • 2017-05-28
相关资源
最近更新 更多