我有一个html表,它有一些行与rowspan,td的简单边框是1px纯黑,但我需要在rowspan的行组上做一个更粗的边框。抱歉,我的英语不好,我要添加一个图像以使其更清晰。这是我制作桌子的方式:javascript - HTML表格外边界多个TR-LMLPHP
我试图补充

table tr{
  border: 2px solid black;
}

但它也使没有行间距的行变粗。
有人有CSS或JS的解决方案吗?
table{
  border-collapse: collapse;
  text-align: center;
}
table td, table th{
  border:1px solid black;
  padding: 0px 14px;
}

<table>
  <tr>
    <th>Col1</th>
    <th>Col2</th>
    <th>Col3</th>
  </tr>
  <tr>
    <td rowspan="3">val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td rowspan="3">val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td rowspan="3">val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
</table>

最佳答案

如果可以修改实际标记,则可以使用多个tbody元素,然后选择样式:

table {
  border-collapse: collapse;
  text-align: center;
}
table td,
table th {
  border: 1px solid black;
  padding: 0px 14px;
}
table tbody {
  border: 4px solid black;
}

<table>
  <thead>
    <tr>
      <th>Col1</th>
      <th>Col2</th>
      <th>Col3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td rowspan="3">val</td>
    </tr>
    <tr>
      <td>val</td>
      <td>val</td>
    </tr>
    <tr>
      <td>val</td>
      <td>val</td>
    </tr>
  </tbody>
  <tbody>
    <tr>
      <td rowspan="3">val</td>
    </tr>
    <tr>
      <td>val</td>
      <td>val</td>
    </tr>
    <tr>
      <td>val</td>
      <td>val</td>
    </tr>
  </tbody>
  <tbody>
    <tr>
      <td rowspan="3">val</td>
    </tr>
    <tr>
      <td>val</td>
      <td>val</td>
    </tr>
    <tr>
      <td>val</td>
      <td>val</td>
    </tr>
  </tbody>
</table>

如果您不能修改实际的标记并且可以使用Jquery,那么可以这样做:
$(document).ready(function() {
  //Remove the actual tbody
  $('tr').unwrap();

  //Give the th a thead element
  $('th').first().parent('tr').wrap('<thead></thead>');

  //Evaluate wich td has rowspan and wrap on tbody based on number of rowspans
  $('td').each(function() {
    if ($(this).attr("rowspan") != undefined) {
      var numb = parseInt($(this).attr("rowspan"), 10),
          par = $(this).parent('tr').index('tr');
      $("tr").slice(par, par + numb).wrapAll('<tbody></tbody>')
    }
  })
})

检查代码段
$(document).ready(function() {
  $('tr').unwrap();
  $('th').first().parent('tr').wrap('<thead></thead>');
  $('td').each(function() {
    if ($(this).attr("rowspan") != undefined) {
      var numb = parseInt($(this).attr("rowspan"), 10),
        par = $(this).parent('tr').index('tr');
      $("tr").slice(par, par + numb).wrapAll('<tbody></tbody>')
    }
  })
})

table {
  border-collapse: collapse;
  text-align: center;
}
table td,
table th {
  border: 1px solid black;
  padding: 0px 14px;
}
table tbody {
  border: 4px solid purple;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <th>Col1</th>
    <th>Col2</th>
    <th>Col3</th>
  </tr>
  <tr>
    <td rowspan="3">val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td rowspan="3">val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td rowspan="3">val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
  <tr>
    <td>val</td>
    <td>val</td>
  </tr>
</table>

09-25 19:54