【问题标题】:Force image inside flexbox container to fill/cover 100%强制 flexbox 容器内的图像填充/覆盖 100%
【发布时间】:2017-06-20 16:12:39
【问题描述】:

我对编码比较陌生,需要您的帮助。

这是代码笔: http://codepen.io/anon/pen/NdMjZy

 <div class="flex-item w50 fill">
    <div class="flex-inner portfolio">
       <a href="">
          <img src="" alt="">
       </a>
    </div>
 </div>

我需要什么:图像应该填充/覆盖弹性项目容器。它们应该居中并保持纵横比。

您可以看到带有椅子的图像不是 100% 高度。

我尝试使用 imagefill.js,但结果是 0px 高度 flex-items。

提前谢谢你!

【问题讨论】:

    标签: html image flexbox fill aspect-ratio


    【解决方案1】:

    您可以为您的img 设置object-fit: cover。您的 a 元素必须是弹性框才能使 object-fit 工作。

    请注意:我只是将 resize: both; 添加到 .flex-inner 以用于演示。您可以调整.flex-inner 的大小以查看效果

    .flex-inner {
      width: 200px;
      height: 200px;
      resize: both;
      overflow: auto;
    }
    
    .flex-inner a {
      display: flex;
      width: 100%;
      height: 100%;
      border: solid 1px #123;
    }
    
    img {
      object-fit: cover;
      width: 100%;
    }
    <div class="flex-inner">
      <a href="">
        <img src="http://via.placeholder.com/500x200" alt="">
      </a>
    </div>

    【讨论】:

      【解决方案2】:

      这里和其他地方提到的所有方法都没有有效地工作。我有 52 个 Flex 盒子,排列成 13 x 4,每个盒子里面都有一个 6 x 6 厘米尺寸的图像。 对我有用的是针对 &lt;a&gt; 元素:

      .container nav ul li a {
      
          display: block;
          border: 10px solid yellow;
          border-radius: .5em;
          padding: 0 0;
          margin: .2em;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-29
        • 1970-01-01
        相关资源
        最近更新 更多