为啥嵌套表在父表之外呈现?

Posted

技术标签:

【中文标题】为啥嵌套表在父表之外呈现?【英文标题】:Why is nested table rendering outside of parent table?为什么嵌套表在父表之外呈现? 【发布时间】:2022-01-12 10:00:41 【问题描述】:

我正在尝试使用嵌套表格创建表格布局。我无法弄清楚为什么嵌套表在父表之外呈现?

这是 CodePen 链接:https://codepen.io/specificporpoise/pen/JjrXdMM

html

<div id="outer">

  <table id="parent">
    <tbody>
      <tr>
        <td>A</td>
        <td>B</td>
        <td>D</td>
        <td>E</td>
        <td>H</td>
      </tr>
      <tr>
        <td>A</td>
        <td>B</td>
        <td>D</td>
        <td>E</td>
        <td>H</td>
      </tr>
      <tr>
        <table id="nested">
          <tr>
            <td>I</td>
            <td>J</td>
          </tr>
        </table>
      </tr>
    </tbody>
  </table>

</div>

CSS:

div 
  border: solid 1px gray;

table 
  table-layout: fixed;

table td 
  border: solid 1px gray;

#outer 
  width: 800px;
  height: 600px;

#parent 
  width: 100%;
  height: 100%;

#nested 
  width: 100%;
  height: 100%
  table-layout: fixed;

我错过了什么?

【问题讨论】:

【参考方案1】:

您需要为包含嵌套表的 td 添加一个 colspan 属性。

      <tr>
        <td colspan="5"><!-- add colspan -->
            <table id="nested">
              ...
            </table>
        </td>
      </tr>

div 
  border: solid 1px gray;

table 
  table-layout: fixed;

table td 
  border: solid 1px gray;

#outer 
  width: 800px;
  height: 600px;

#parent 
  width: 100%;
  height: 100%;

#nested 
  width: 100%;
  height: 100%
  table-layout: fixed;
<div id="outer">

  <table id="parent">
    <tbody>
      <tr>
        <td>A</td>
        <td>B</td>
        <td>D</td>
        <td>E</td>
        <td>H</td>
      </tr>
      <tr>
        <td>A</td>
        <td>B</td>
        <td>D</td>
        <td>E</td>
        <td>H</td>
      </tr>
      
      <tr>
        <td colspan="5">
        <table id="nested">
          <tr>
            <td>I</td>
            <td>J</td>
          </tr>
        </table>
        </td>
      </tr>
    </tbody>
  </table>

</div>

【讨论】:

以上是关于为啥嵌套表在父表之外呈现?的主要内容,如果未能解决你的问题,请参考以下文章

CSS:将嵌套元素定位在父元素边界之外

已解决 - ReactJS - 父表上的行选择崩溃嵌套表

如何将嵌套的子表值与父表行关联并插入子表值对应于php中的父表行

为啥 .Select 或 .ToList() 提供嵌套 JSON,而 .Count 在父 JSON 中出现?

使用嵌套表在 Oracle PL/SQL 中构建动态 SQL

Django 1.10 模板在其父级之外呈现嵌套的 HTML 标签