【问题标题】:How to wrap flex items in IE11 when inside table?在表格内时如何在 IE11 中包装弹性项目?
【发布时间】:2019-06-11 19:36:03
【问题描述】:

我有以下代码 (codepen here),我需要在 IE11 中工作(因为它可以在普通浏览器中工作)...

卡片应该被包裹(没有水平的scoll,只有在需要时才垂直)到显示的窗口中。

.table {display: table;}
.container {display: flex; flex-wrap: wrap;}

.card {width: 300px; height: 100px; background: green; margin: 2px;}
<div class="table">
<div class="container">
  <div class="card">1</div>
  <div class="card">2</div>
  <div class="card">3</div>
  <div class="card">4</div>
  <div class="card">5</div>
  <div class="card">6</div>
  <div class="card">7</div>
  <div class="card">8</div>
</div>
</div>

这不是 IE 的情况。

我知道没有包装“表格”这将起作用,但我无法更改它,所以请考虑保持表格原样...

【问题讨论】:

  • 表需求从何而来?

标签: html css flexbox internet-explorer-11


【解决方案1】:

table-layout: fixed; width: 100%; 添加到父.table 包装器在IE11 中为我解决了这个问题。但是,我建议不要在表格布局中放置某些内容,除非您需要显示表格内容...而且您确实想为此使用语义 &lt;table&gt; 元素。

根据您的分辨率,您可能必须全屏查看下面的代码段才能看到它的堆叠/包装。在我的 26 英寸 1080p 显示器上的 IE 中未最大化,由于站点列式布局的最大宽度限制,它只显示一列。

.table {display: table; table-layout: fixed; width: 100%; }
.container {display: flex; flex-wrap: wrap;}

.card {width: 300px; height: 100px; background: green; margin: 2px; }
<div class="table">
    <div class="container">
        <div class="card">1</div>
        <div class="card">2</div>
        <div class="card">3</div>
        <div class="card">4</div>
        <div class="card">5</div>
        <div class="card">6</div>
        <div class="card">7</div>
        <div class="card">8</div>
    </div>
</div>

【讨论】:

  • 为了不破坏页面中的另一个逻辑,我需要保留 display: 表,所以你的解决方案对我有帮助!谢谢!
猜你喜欢
  • 2014-07-21
  • 2017-12-13
  • 1970-01-01
  • 1970-01-01
  • 2019-04-24
  • 2018-03-27
  • 2018-10-08
  • 1970-01-01
  • 2016-12-26
相关资源
最近更新 更多