html5 – 为什么我在Safari和Chrome中使用flexbox获得不同的行为?

前端之家收集整理的这篇文章主要介绍了html5 – 为什么我在Safari和Chrome中使用flexbox获得不同的行为?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在显示一行图像.这是我的 HTML
<div class="flex">
  <img src="img1.jpg"/>
  <img src="img2.jpg"/>
  <img src="img3.jpg"/>
  <img src="img4.jpg"/>
</div>

这是我的css:

.flex {
  display: flex
}

img {
  height: auto;
}

我想让我的图像连续显示.我没有给任何宽度的imgs,所以在Chrome上,imgs占用了它们的自然宽度并且比屏幕更大.这就是我希望它的工作方式.使用Safari,他们的flexBox只会占据整个视口宽度.我已经尝试设置图像宽度,flex-basis,但不能使Safari使用的不仅仅是可见屏幕.是否存在我不知道的flexBox问题?我还可以做些什么?

解决方法

看起来这是Safari中的一个错误.尝试添加flex-shrink:0到img.
img {
    height: auto;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
}

使用webkit前缀来支持旧的Safari浏览器 – 我也将它添加到.flex中,就像詹姆斯建议的那样(注意自己:升级Safari).

猜你在找的HTML5相关文章