【发布时间】:2015-12-10 13:37:19
【问题描述】:
我有一个 ul > li > a > img 括号,我正在使用 flexbox 将所有列表项对齐到一行,同时图像保持其纵横比。
它在 Chrome 45、Firefox 40、Safari 中的外观8、Opera 28 & Edge
所以我的问题是我试图在 IE 中实现与 Chrome 和 Firefox 中相同的行为。
我的SASS/SCSS
ul.images {
float: left;
clear: both;
width: 100%;
min-height: auto; // Required for Firefox
padding: 0;
margin: 0;
border: 1px solid yellow;
display: -webkit-flex;
-webkit-flex-direction: row;
display: -ms-flexbox;
-ms-flex-direction: row;
display: flex;
flex-direction: row;
li {
border: 2px solid green;
flex: 1 1 auto;
width: auto;
min-width: 0; // Required by Firefox
max-width: 100%;
max-height: auto;
img {
float: left; // Removes phantom margin
width: auto;
max-width: 100%;
height: auto;
max-height: 100px;
}
}
}
这里是 CodePen,适合任何想要更详细了解的人。
【问题讨论】:
-
在 Firefox 40.0.3 中也超过了
-
我几乎可以肯定这是因为 Firefox 和 IE 完美地遵守了 W3C 规范,而这实际上是我的错误。但是我没有完全解释/理解规范以编写正确的代码。
-
对于
ul和container添加overflow: hidden; -
@lolka_bolka 除了隐藏溢出的内容之外,这不会实现任何目标。
-
我已经使用 min-width: 0; 修复了 Firefox这是因为 Firefox 将其默认最小值更改为默认值。
标签: css internet-explorer internet-explorer-10 flexbox