You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP生成的HTML表格中跳过空行

问题根源

表格出现多余空行、渲染不符合预期,完全是HTML表格结构写法不规范导致的,具体错误点:

  • <thead>表头标签被错误嵌套在<tr>行标签内部,违反HTML表格语法规则
  • 表格内部直接插入了<br>标签,浏览器会将这类不属于表格合法子元素的标签解析为空白行
  • 联赛名称对应的<th>标签没有包裹在<tr>行标签内,浏览器会自动为这些游离的标签补全缺失的行结构,额外生成空行
修正方案
  1. 调整<thead>位置,让它直接包裹表头行,不要嵌在<tr>内部
  2. 删除表格内部所有多余的<br>标签
  3. 所有<th>、<td>单元格标签必须放在<tr>行标签内部
  4. 如果是对接SQL源数据动态渲染,遍历数据时增加判断:当前行所有字段都为空时直接跳过,不生成对应的<tr>节点即可自动过滤空行
修正后可直接运行的代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="Style.css">
</head>
<body>
<table class="Fixtures" border="1">
    <thead>
        <tr>
            <th>League / Match</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th class="League">Premier League</th>
        </tr>
        <tr>
            <td>Arsenal - Man united</td>
        </tr>
        <tr>
            <td>Chelsea - Newcastle</td>
        </tr>

        <tr>
            <th class="League">Spain La Liga</th>
        </tr>
        <tr>
            <td>Barcelona - Real Madrid</td>   
        </tr>
        <tr>
            <td>Sevilla - Real Sociedad</td>   
        </tr>
        <tr>
            <td>Alaves - Cadiz</td>    
        </tr>

        <tr>
            <th class="League">Allsvenskan</th>
        </tr>
        <tr>
            <td>Elfsborg - Varberg</td>   
        </tr>
        <tr>
            <td>Kalmar - Varnamo</td>   
        </tr>
        <tr>
            <td>Malmo FF - Helsingborg</td>    
        </tr>
    </tbody>
</table>
</body>
</html>

运行上述代码即可得到无空行、按联赛分组展示的预期对阵表效果。

内容的提问来源于stack exchange,提问作者Woza Station Namibia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 06:51:06