flex-item 中的图像在 Safari、iOS 和 Firefox 中重写了“max-width: none”

Posted

技术标签:

【中文标题】flex-item 中的图像在 Safari、iOS 和 Firefox 中重写了“max-width: none”【英文标题】:Image inside flex-item rewrites "max-width: none" in Safari, iOS and Firefox 【发布时间】:2015-09-07 13:15:05 【问题描述】:

a 元素从脚本中获取其height,并且完整的代码在所有设备和浏览器上运行良好,除了 iOS 和 Safari(如果足够小)。在那里,图像在height 中被拉伸。

我们的目标是让图像居中始终使用 flex。我在那个页面上使用了很多 flex,所以我也想在那里使用它。

http://codepen.io/notyetnamed/pen/gaboXK

编辑:被忽略的不是最大高度,而是被重写的最大宽度。

如果我设置 width: 100%height: 100%,我会在 chrome 中看到类似的视图,就像在 safari 中一样。

EDIT2:“错误”也出现在 firefox 中。

【问题讨论】:

【参考方案1】:

由于 Safari、Firefox 和其他一些软件中的错误,现在似乎不可能。

所以我删除了 flex 属性并添加了一些普通样式以保持图像在其容器中居中。

.box img 
  height: 100%;
  width: auto;
  position: absolute;
  left: -100%;
  right: -100%;
  top: -100%;
  bottom: -100%;
  margin: auto;
  max-width: none;

http://codepen.io/notyetnamed/pen/dYYYxP

【讨论】:

以上是关于flex-item 中的图像在 Safari、iOS 和 Firefox 中重写了“max-width: none”的主要内容,如果未能解决你的问题,请参考以下文章

背景图像在 Safari 和 iOS 中未显示全宽

iOS/Mobile Safari 是不是支持 HTML 图像映射中的触摸事件

flex div 中的 SVG 图像在 Safari 和 Chrome 中的显示方式不同

如何在 Safari iOS13+ 中从 PWA 下载图像

身体上设置的背景图像被切断的问题 - iOS/Safari

使用无法在 Safari 中工作的图像转换 SVG