【发布时间】:2015-06-15 14:15:57
【问题描述】:
我正在尝试使用 flexbox 在我的内容流中并排放置两个图像。在 Chrome/Safari 中,它可以正确缩放图像,但在 Firefox/IE 中,纵横比不受尊重,图像失真。内容流的整体宽度取决于浏览器的宽度。随着窗口变窄,图像需要重新调整。
这是它在 Chrome/Safari (WebKit) 中的外观:
Aspect ratio respected http://pluto.justdied.com/w2box/data/chrome.PNG
虽然这是它在 Firefox/Internet Explorer 中的外观:
image stretches http://pluto.justdied.com/w2box/data/exhibit.PNG
这个 2 列视图包含一长串图像。
HTML 标记:
<div class="grid">
<img src="../images/mille_bornes_02.jpg">
<img src="../images/mille_bornes_08.jpg">
</div>
CSS如下:
.grid {
z-index: 1;
margin: 0px 0px 16.5px;
position: relative;
flex-direction: row;
width: 100%;
height: 100%;
display: flex;
padding: 0;
border: 0;
}
.grid img {
position: relative;
display: block;
margin-left: 16.5px;
height: 100%;
width: 100%;
}
.grid > img:first-child {
margin-left: 0px;
}
我尝试过调整大小,但最终还是会在 Firefox/IE 中出现某种形式的失真。关于如何修复它的任何想法?我希望使用 flexbox 来避免用 JavaScript 强制它。
两个源图像共享相同的高度和宽度。
我们将不胜感激所有反馈和帮助!
谢谢!
【问题讨论】:
-
您的代码没问题,但 .grid 中的自动高度可能是 FF 中的问题。这在 FF 中看起来不错——jsfiddle.net/12dn6wbe——你可能需要指定像素
-
不幸的是,当浏览器/窗口的宽度减小时,jsfiddle 中的图像会失真。
-
是的,我刚刚看到了,等一下,我会给你一个更好的解决方案
-
你去。我将屏幕分成 2 个相同 h/w 的框,并更改了要包含的图像的 css。如果它对你有用,那就把它作为答案——@ 987654324@——坚持那是幽灵。该演示在 FF 中运行良好,但在 Chrome 中运行良好。奇数
-
你去吧,一个适用于所有浏览器的解决方案。 -- jsfiddle.net/kd2qntbv
标签: css image internet-explorer firefox flexbox