【问题标题】:Empty space coming before table row when an another element in row with rowspan has bigger data [closed]当具有行跨度的行中的另一个元素具有更大的数据时,表格行之前出现空白空间[关闭]
【发布时间】:2018-01-30 03:04:50
【问题描述】:

我创建了一个表,其中前 3 列跨越多行。现在,当前三列中的任何一列中的数据较小时,问题就不存在了,但是如果数据较大并且行没有跨越多行,那么其余列上方就会出现空白空间。

【问题讨论】:

  • 发送html脚本。
  • HTML 非常简单明了。

标签: html css html-table


【解决方案1】:

一)

table {
  border-collapse: collapse;
  width:100%;
  height:100%;
}
table, th, td {
    border: 1px solid black;
}
.child-tbl{
border:0;
}
.child-tbl td{
  border:0;
  border-bottom:1px solid black;
}
<table class="main">
  <tr>
    <td style="width:50px;">3</td>
    <td style="width:50px;">39</td>
    <td style="width:250px;">
        x<br>x<br>x<br>x<br>x<br>
    </td>
    <td style="vertical-align:top;">
      <table class="child-tbl">
        <tr>
          <td>6</td>
          <td>aaaaaaaaaaaaaaaaaaaaaaa</td>
        </tr>
        <tr>
          <td>7</td>
          <td>bbbbbbbbbbbbbbbbbbbbbbb</td>
        </tr>
      </table>
    </td>
  </tr>
</table>

B)

我还混合了 css 代码,用它来适应其容器的右侧单元格的高度。我将height:1px 用于table 容器(div)和height:100% 用于table

table {
  border-collapse: collapse;
  width:100%;
  height:100%;
}
table, th, td {
  border: 1px solid #bbb;
}
table th{
  background:#0095ff;
  color:#fff;
  height:50px;
  vertical-align:middle;
}
.child-tbl{
  border:0;
}
.child-tbl td{
  border:0;
  border-bottom:1px solid #bbb;
  height:50%;
}
.child-tbl tr:last-child td{
  border-bottom:0;
}
.child-tbl td:first-child{
  border-right:1px solid #bbb;
}
html,body{
  height:100%;
}
div{
  height:1px;
}
<div>
  <table class="main">
    <tr>
      <th style="width:50px;">Col 1</th>
      <th style="width:50px;">Col 2</th>
      <th style="width:150px;">Col 3</th>
      <th>
        <table class="child-tbl">
            <tr>
              <td style="width:50px;">Col 4</td>
              <td>Col 5</td>
            </tr>
         </table>
      </th>
    </tr>
    <tr>
      <td style="width:50px;">3</td>
      <td style="width:50px;">39</td>
      <td style="width:150px;">
          x<br>x<br>x<br>x<br>x<br>
      </td>
      <td style="vertical-align:top;">
        <table class="child-tbl">
          <tr>
            <td style="width:50px;">6</td>
            <td>aaaaaaaaaaaaaaaaaaaaaaa</td>
          </tr>
          <tr>
            <td>7</td>
            <td>bbbbbbbbbbbbbbbbbbbbbbb</td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
<div>

【讨论】:

  • 非常感谢您提供解决方案。这是一个很好的解决方法,我实现了它,非常感谢。但是,现在的问题是我应该如何调整表格的标题以正确对齐内部表格元素。
  • @DevSingh,我用表头的解决方案更新了我的答案。再次运行我的答案中的第二个代码。
  • 再次感谢,稍后会尝试通知您。
猜你喜欢
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2012-10-19
  • 2011-10-21
  • 1970-01-01
相关资源
最近更新 更多