Html 最大宽度在带有display:table容器和display:flex子级的IE11中不起作用

Html 最大宽度在带有display:table容器和display:flex子级的IE11中不起作用,html,css,flexbox,internet-explorer-11,Html,Css,Flexbox,Internet Explorer 11,在下面的代码中,所有内容都在Chrome中正确显示。.inner元素的宽度受最大宽度的限制 在IE11中,.internal元素延伸到所有内容 如果我为.container或设置display:block。内部元素都能正常工作。但我不能这样做,因为这个例子是在许多网站上使用的大型组件中的错误的简短再现,我不想破坏某些东西 为什么会这样 如何修复它 .container{ 背景颜色:黄色; 显示:表格; 高度:100px; 最大宽度:277px; } .内部{ 背景色:红色; 显示器:flex;

在下面的代码中,所有内容都在Chrome中正确显示。
.inner
元素的宽度受
最大宽度的限制

在IE11中,
.internal
元素延伸到所有内容

如果我为
.container
设置
display:block
。内部
元素都能正常工作。但我不能这样做,因为这个例子是在许多网站上使用的大型组件中的错误的简短再现,我不想破坏某些东西

  • 为什么会这样
  • 如何修复它
  • .container{
    背景颜色:黄色;
    显示:表格;
    高度:100px;
    最大宽度:277px;
    }
    .内部{
    背景色:红色;
    显示器:flex;
    高度:50px;
    }
    
    77 777 777 77 7 7777 77 7 7 7 77 7 7 7 77 7 7 7 7 7 77 7 7 7 7 77 7 77 7 7 77 7 7 77 7 7 77 7 7 77 7 7 7 7 7
    111 11111 111111111111 111111111111 111111111 111111111111 11111111111 11111111111 11111111 1111111111 11111
    
    一般来说,你可以期待

    加入一个
    元素作为flex容器的父元素(通常表的子元素是表单元格),现在就麻烦了

    最后,添加,你只是请求IE11打破你的布局

    也就是说,问题的解决方案是在代码中添加两条规则:

    .container{
    宽度:100%;/*新*/
    表布局:固定;/*新*/
    显示:表格;
    最大宽度:277px;
    高度:100px;
    背景颜色:黄色;
    }
    .内部{
    背景色:红色;
    显示器:flex;
    高度:50px;
    }
    
    77 777 777 77 7 7777 77 7 7 7 77 7 7 7 77 7 7 7 7 7 77 7 7 7 7 77 7 77 7 7 77 7 7 77 7 7 77 7 7 77 7 7 7 7 7
    111 11111 111111111111 111111111111 111111111 111111111111 11111111111 11111111111 11111111 1111111111 11111