嗨
我在IE中使用flex有些问题:
请注意,#two元素具有flex:auto
,这应该会将其扩展以填充容器,即使没有足够的内容。
但它只在Chrome和Firefox中工作。在IE中它根本不起作用。
flex-grow
在IE中不支持吗?
嗨
我在IE中使用flex有些问题:
请注意,#two元素具有flex:auto
,这应该会将其扩展以填充容器,即使没有足够的内容。
但它只在Chrome和Firefox中工作。在IE中它根本不起作用。
flex-grow
在IE中不支持吗?
如果有人想尝试在非body元素上实现此效果,可以在具有min-height的元素上设置height: 0;。
IE浏览器只需要在flex-grow自动元素的父元素上设置任何高度。
因此可以像这样设置:
.flex-parent{
display: flex;
min-height: 300px;
height: 0;
}
.flex-child{
flex: 1 1 auto;
}
IE需要使用flex: 1 1 auto
它不理解flex: 1
这是因为你在 <body>
上使用了 min-height
以获取完整高度。对于 Internet Explorer 浏览器,你需要使用 height
属性(使用 100%
或 100vh
)。
我不太确定你想要实现什么,但这并不是Flexbox布局的工作方式。要在元素上使用“flex”属性,它必须位于具有“display:flex”属性的父元素内。
<style>
#flexContainer {
display: flex;
}
#item1 {
width: 50px;
background: #66CC33;
flex: 1;
}
#item2 {
width: 50px;
background: #0099FF;
flex: 5;
}
#item3 {
width: 50px;
background: #66CC33;
flex: 10;
}
</style>
<html>
<div id="flexContainer">
<div id="item1">1</div>
<div id="item2">2</div>
<div id="item3">3</div>
</div>
</html>
我会使用 -ms-flex: 1 1 auto;
因为IE不完全支持flex。应该加上前缀。
min-height: 100vh
,但在IE11中没有任何反应。添加height: 100vh
后就可以了。溢出仍然像往常一样(即如果内容不适合子元素,则仍会正常扩展到视口之外)。 - Alan Plum