html - 布局类似于表格的 flexbox ?

标签 html css flexbox

我正在使用一个内部开发的框架,它依赖于我们 HTML 的特定结构。棘手的事情之一是每一行都需要有自己的容器,有自己的类和数据属性。

所以问题来了。在不彻底改变 DOM 的情况下,我如何才能使下面的 flexbox 呈现出本质上像 HTML 表格一样的效果?还是表格是唯一的方法?该解决方案必须适用于 IE11 和 Chrome。

我试着让它看起来像这样......

Column A      |      Column B      |      Column C
1             |      2             |      3

section {
  display: flex;
  flex-wrap: wrap;
}

section .col {
  flex: 1 1 auto;
}

section .line-break {
  flex-basis: 100%;
  width: 0px; 
  height: 0px; 
  overflow: hidden;
}
<html>
  <head>
  </head>
  <body>
    <section>
      <header>
        <div class="col">Column A</div>
        <div class="col">Column B</div>
        <div class="col">Column C</div>
      </header>
      <div class="line-break"></div>
      <div class="row">
        <div class="col">1</div>
        <div class="col">2</div>
        <div class="col">3</div>
      </div>
    </section>
  </body>
</html>

最佳答案

header, .row {
  display: flex;  /* aligns all child elements (flex items) in a row */
}

.col {
  flex: 1;        /* distributes space on the line equally among items */
}
<section>
  <header>
    <div class="col">Column A</div>
    <div class="col">Column B</div>
    <div class="col">Column C</div>
  </header>
  <div class="row">
    <div class="col">1</div>
    <div class="col">2</div>
    <div class="col">3</div>
  </div>
</section>

关于html - 布局类似于表格的 flexbox ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48570109/

相关文章:

html - 使一个 div 扩展到覆盖其他 div 的所有屏幕

javascript - 为什么在我的 View 中看不到我的总计?

html - 如何从右到左更改特定列表项文本(例如阿拉伯语/希伯来语)?

javascript - 将 active_section 类添加到菜单部分

javascript - 在 clic 上打开另一个弹出窗口时关闭当前弹出窗口

html - 使元素占用容器中的可用空间

css - Flex 可以垂直和水平使用吗?

html - 显示内联 block 悬停

css - Flexbox 包装线,你可以布置 3x3 网格,中心大小适合内容吗

css - 显示 :none hover trick on a touchscreen device