我有一个
simple plunker here.
- .container {
- display:flex;
- flex-flow: row nowrap;
- justify-content: space-between;
- align-items: center;
- min-height: 4em;
- }
- .nav {
- flex: 0 0 4em;
- height: 1em;
- }
- .logo {
- flex: 1 0 auto;
- align-self: stretch;
- }
这是我在Chrome 49中想要的方式:
但不是在IE11中:
我已经检查过IE不处于兼容模式 – 它不是 – 它处于IE11模式.
这里发生了什么?
解决方法
这是IE11中的一个错误.
IE11中的flex项目无法识别Flex容器上的min-height属性.
如果切换到高度:4em,您将看到您的布局有效.
一个简单的解决方法是使.container成为一个flex项.
- body {
- display: flex;
- }
- .container {
- width: 100%; /* or flex: 1 */
- }
无论出于何种原因,通过使Flex容器也成为弹性项目,子元素遵循最小高度规则.
更多细节:Flexbugs: min-height
on a flex container won’t apply to its flex items