flex容器内元素覆盖容器的问题,怎么兼容IE11?

flex容器内元素覆盖容器的问题,怎么兼容IE11?
如图所示,容器是一个灰色的正方形。容器内的元素是一个黑边框的正方形,在容器内部居中显示。
1、当元素不大于容器时可以居中;
2、当元素超出容器时,IE11里面没法居中了(谷歌浏览器照样可以居中对齐)。

请问该如何设置样式才能让IE里的元素超出容器时也能居中?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        .outer {
            background: #efefef;
            height: 80px;
            width: 80px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .inner {
            border: 1px black solid;
            flex-shrink:0;
        }
        @keyframes change
        {
            0%   {width: 20px; height: 20px;}
            50%  {width: 150px; height: 150px;}
            100%   {width: 20px; height: 20px;}
        }
        .inner
        {
            animation-name: change;
            animation-duration: 5s;
            animation-iteration-count: infinite;
        }
    </style>
</head>
<body style='padding: 100px'>
    <div class='outer'>
        <div class='inner'>
            1
        </div>
    </div>
</body>
</html>

问题已经解决,谢谢大家!有兴趣的朋友可以看下图,鼠标所指的标题就是

flex容器内元素覆盖容器的问题,怎么兼容IE11?(已解)

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

用兼容模式-ms-,这种问题最好去掘金或思否上发。

3年前 评论
zhaiduting (楼主) 3年前
zhaiduting (楼主) 3年前
讨论数量: 6

用兼容模式-ms-,这种问题最好去掘金或思否上发。

3年前 评论
zhaiduting (楼主) 3年前
zhaiduting (楼主) 3年前

参考了一篇博客《浏览器兼容的flex语法》www.cnblogs.com/sheqiuluo/p/952574... 在 .outer 里面添加了一行-ms-justify-content: center;没能解决问题。按我的理解,IE11 的版本已经非常高了,不需要采用这种加前缀的兼容写法。

当元素没超出容器时,可以看到flex布局是有效的(不加 -ms- 也行)。可一旦超出,IE里的 flex 就报废了。而我想要的,就是无论是否超出容器,都要居中对齐。

3年前 评论
浪里小白龙 3年前
zhaiduting (作者) (楼主) 3年前

加了最后两行的 -ms- 没效果,无法纠正超宽问题

.outer {
    background: #efefef;
    height: 80px;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    -ms-justify-content: center;
    -ms-flex-pack: center;
}
3年前 评论
浪里小白龙 3年前

我的意思是说IE写法要和chrome的写法同时存在: display: -ms-flexbox; -ms-flex-pack: center; -ms-flex-align: center;,至于 -ms-justify-content: center;没有这种写法。

3年前 评论
zhaiduting (楼主) 3年前
zhaiduting (楼主) 3年前

个人项目不建议去做对IE的支持。浪费时间不说,做出来效果不如人意。

3年前 评论

不打算在此讨论应不应该兼容IE的问题,只想请教一下该如何解决这个问题,谢谢大家

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!