html - 防止 Flex 容器内的图像在 Chrome 中拉伸(stretch)

标签 html css google-chrome flexbox

我不知道我做错了什么。在 Firefox 中看起来不错,但在 Chrome 中我的图像都被拉伸(stretch)得疯狂高。我尝试了在网上找到的各种解决方案,例如将 img 的 min-height 设置为 0 或在代码中添加 height:auto ,但似乎没有任何帮助。 Chrome 中的 Flexbox 是否已损坏?

这是带有我的代码的 JSFiddle。

https://jsfiddle.net/xyk537n1/

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.media li,
#sitetitle {
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease
}

#sitetitle:hover,
.media li:hover {
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

a:visited {
  color: inherit
}

html,
body {
  background: url('img/bg02.jpg') #233 top;
  /* min-width:1310px; */
  font: normal .95em 'Source Sans Pro', Helvetica, Arial, Verdana, Sans-Serif;
  color: #233
}

h2,
figcaption {
  font: normal 1.65em 'Dosis', Helvetica, Arial, Verdana, Sans-Serif
}

abbr {
  border-bottom: 1px dotted #233;
  text-transform: uppercase;
}

article {
  max-width: 100%
}

#sitetitle {
  display: inline-block;
  padding: 0 0 .2em .3em;
  color: #fff;
  text-decoration: none;
  font: bold calc(2.1em + 1.5vw) 'Source Sans Pro', Helvetica, Arial, Verdana, Sans-Serif;
  text-shadow: 1px 1px 2px #000;
}

#sitetitle:hover {
  text-shadow: 1px 1px 5px #000
}

.clear {
  clear: both
}

.wrapper {
  padding: .5em;
  background: rgb(34, 51, 51);
  background: rgba(34, 51, 51, 0.8)
}

.wrapper {
  display: flex;
  flex-flow: row wrap;
}

.wrapper>* {
  flex: 1 100%;
}

.column {
  max-width: 100%
}

.block {
  background: #bbb;
  padding: .5em;
}

.block {
  margin: .5em;
  text-decoration: none;
  color: #233;
  position: relative;
  overflow: hidden;
  z-index: 100
}

.block {
  box-shadow: 0 7px 5px -5px black
}

.block img {
  max-width: 100%;
  min-height: 0;
}

.media li {
  flex-wrap: wrap;
  position: relative
}

.media li {
  max-width: 50%;
  float: left;
  padding: .5em
}

.media a {
  display: flex;
}

.media li:hover {
  background: #fff
}

.media li a strong {
  float: left;
  position: absolute;
  background: #233;
  color: #bbb;
  padding: 5px;
  margin-right: .5em;
  font-size: calc(.5em + 1.5vw);
}

.media {
  border-top: 6px solid #7d1
}

.media a {
  text-decoration: none;
  color: #233
}

#footer {
  padding: 1.5em 1em;
  color: #fff;
}
<header>
  <a href="/" id="sitetitle">testsite.com</a>
</header>
<div class="wrapper">
  <article class="column">
    <ul class="block media">
      <li>
        <a href="https://i.imgur.com/ufW4BAE.jpg" data-lightbox="foliogal" target="_blank"><img src="https://i.imgur.com/ufW4BAE.jpg" /><strong>Render > BMD Company logo > 2013</strong></a>
      </li>
      <li>
        <a href="https://i.imgur.com/ufW4BAE.jpg" data-lightbox="foliogal" target="_blank"><img src="https://i.imgur.com/ufW4BAE.jpg" /><strong>Render > Wireless internet ad > 2011</strong></a>
      </li>
      <li>
        <a href="https://i.imgur.com/5YFSgau.jpg" data-lightbox="foliogal" target="_blank"><img src="https://i.imgur.com/5YFSgau.jpg" /><strong>Graphic > Business ad > 2012</strong></a>
      </li>
      <li>
        <a href="https://i.imgur.com/5YFSgau.jpg" data-lightbox="foliogal" target="_blank"><img src="https://i.imgur.com/5YFSgau.jpg" /><strong>Graphic > Business ad > 2012</strong></a>
      </li>
      <li>
        <a href="https://i.imgur.com/ufW4BAE.jpg" data-lightbox="foliogal" target="_blank"><img src="https://i.imgur.com/ufW4BAE.jpg" /><strong>Render > NukaCola cooler model > 2010</strong></a>
      </li>
      <li>
        <a href="https://i.imgur.com/ufW4BAE.jpg" data-lightbox="foliogal" target="_blank"><img src="https://i.imgur.com/ufW4BAE.jpg" /><strong>WIP > Goggles/Headphones > 2010</strong></a>
      </li>
      <li>
        <a href="https://i.imgur.com/ufW4BAE.jpg" data-lightbox="foliogal" target="_blank"><img src="https://i.imgur.com/ufW4BAE.jpg" /><strong>WIP > Goggles/Headphones > 2010</strong></a>
      </li>
      <li>
        <a href="https://i.imgur.com/ufW4BAE.jpg" data-lightbox="foliogal" target="_blank"><img src="https://i.imgur.com/ufW4BAE.jpg" /><strong>Screenshot > jb_orange > 2009</strong></a>
      </li>
    </ul>
  </article>
  <p id="footer">footerfooterfooter foooter fooooooooooter.</p>
</div>

最佳答案

flex 容器的初始设置是align-items:stretch

尝试将值切换为 flex-start

Chrome 和 FF 的处理方式似乎不同。

.media a {
  display: flex;
  align-items: flex-start; /* NEW */
}

revised demo

关于html - 防止 Flex 容器内的图像在 Chrome 中拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48332131/

相关文章:

javascript - 在 div 中搜索元素

html - CSS:更改另一个 div 的 a:hover 上的 div 属性。可能的 ?如何?

jquery - IE 的 CSS3 动画旋转器解决方法

css - margin 错误...我不明白出了什么问题

javascript - 限制 ng-repeat 内选中的复选框数量

html - 为什么我在 material -ui-next "Cards"示例中看不到图像?

javascript - 如何在 Safari 中更改全屏背景颜色

javascript - 为什么用户/代理不能选择电子邮件地址或号码?

html - Chrome 认为英语网站是土耳其语

css - 调整浏览器窗口大小时,Div 会重新定位