在CSS表中,我有一个id=inner-table的常规表。CSS表有display:table并且似乎内部表被视为CSS表外部的一个单元格。因此,第一列扩展到内部表的宽度。如何防止内部表的行为类似于外部CSS表的单元格?我试过为内部表设置display: block,但这不起作用。代码如下:

    .Table {
      display: table;
    }
    .Title {
      display: table-caption;
      text-align: center;
      font-weight: bold;
      font-size: larger;
    }
    .Heading {
      display: table-row;
      font-weight: bold;
      text-align: center;
    }
    .Row {
      display: table-row;
    }
    .Cell {
      display: table-cell;
      border: solid;
      border-width: thin;
      padding-left: 5px;
      padding-right: 5px;
    }

<body>
<div class="Table">
  <div class="Title">
    <p>This is a Table</p>
  </div>
  <div class="Heading">
    <div class="Cell">
      <p>Heading 1</p>
    </div>
    <div class="Cell">
      <p>Heading 2</p>
    </div>
    <div class="Cell">
      <p>Heading 3</p>
    </div>
  </div>
  <div class="Row">
    <div class="Cell">
      <p>Row 1 Column 1</p>
    </div>
    <div class="Cell">
      <p>Row 1 Column 2</p>
    </div>
    <div class="Cell">
      <p>Row 1 Column 3</p>
    </div>
  </div>

  <div id='inner-table'>
    <table>
      <thead>
        <tr>
          <th>Column 1</th>
          <th>Column 2</th>
          <th>Column 3</th>
        </tr>
      </thead>
      <tr>
        <td>A</td>
        <td>B</td>
        <td>B</td>
      </tr>
      <tr>
        <td>C</td>
        <td>D</td>
        <td>B</td>
      </tr>
    </table>
  </div>

  <div class="Row">
    <div class="Cell">
      <p>Row 2 Column 1</p>
    </div>
    <div class="Cell">
      <p>Row 2 Column 2</p>
    </div>
    <div class="Cell">
      <p>Row 2 Column 3</p>
    </div>
  </div>
</div>

</body>

最佳答案

.Table之前关闭第一个#inner-table的div,而不是在Rowdiv之后关闭,如下所示:
Demo

<div class="Table">
    <div class="Title">
        <p>This is a Table</p>
    </div>
    <div class="Heading">
        <div class="Cell">
            <p>Heading 1</p>
        </div>
        <div class="Cell">
            <p>Heading 2</p>
        </div>
        <div class="Cell">
            <p>Heading 3</p>
        </div>
    </div>
    <div class="Row">
        <div class="Cell">
            <p>Row 1 Column 1</p>
        </div>
        <div class="Cell">
            <p>Row 1 Column 2</p>
        </div>
        <div class="Cell">
            <p>Row 1 Column 3</p>
        </div>
    </div>
</div>
<div id='inner-table'>
    <table>
        <thead>
            <tr>
                <th>Column 1</th>
                <th>Column 2</th>
                <th>Column 3</th>
            </tr>
        </thead>
        <tr>
            <td>A</td>
            <td>B</td>
            <td>B</td>
        </tr>
        <tr>
            <td>C</td>
            <td>D</td>
            <td>B</td>
        </tr>
    </table>
</div>
<div class="Row">
    <div class="Cell">
        <p>Row 2 Column 1</p>
    </div>
    <div class="Cell">
        <p>Row 2 Column 2</p>
    </div>
    <div class="Cell">
        <p>Row 2 Column 3</p>
    </div>
</div>

10-05 21:45