This is a bug in IE11.
The min-height on a flexible container is not recognized by flex elements in IE11.
If you switch to height: 4em , you will see that your layout works.
A simple workaround is to make the .container flexible item.
In other words, add this to your code:
body { display: flex; } .container { width: 100%; }
For whatever reason, when your flex container is also a flex item, min-height rules are followed by child items.
More details here: Flexbugs: min-height on a flexible container will not be applied to its flexible elements
source share