我过去使用 display: flex
和 margin: auto
来创建这种布局:
这在所有支持 Flexbox 的浏览器上都可以正常工作,甚至包括 IE。
然而,如果没有一个小例外的话,它会变得太简单了:min-height
。
您可以在此处找到一个简单的工作示例。当在容器上使用 min-height
时,最后一个元素未被推到该容器底部(仅在 IE 中)。
我无法让它正常工作,你们有任何想法吗?谢谢。
在 IE11 上测试
.wrapper {
display: flex;
flex-direction: column;
min-height: 300px;
border: 1px solid grey;
padding: 5px;
}
.element {
height: 35px;
border: 1px solid grey;
margin: 5px;
}
.element:last-child {
margin-top: auto;
}
<div class="wrapper">
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
</div>
position: absolute
可以是解决方法。IE11、flexbox 和height
&min-height
以及整体高度非常不兼容。我在使用 flexbox 布局时遇到了很多 IE11 布局问题。 - knitevision