【问题标题】:Border around specific table row特定表格行周围的边框
【发布时间】:2012-08-02 23:09:13
【问题描述】:

我正在尝试仅在顶行周围创建边框!目前,边框将仅显示在表格的外部。但我也想要第一行周围的边框。有人可以帮我这样做吗?我希望带有“团队、正确选择和积分”的行周围有一个边框。

<body>
    <?=$leaguename?>
    <center><table cellspacing="0" style="width:400px; border:1px solid gray">
    <?
    echo "<tr border=\"1\"><td> Team </td><td>Correct Picks</td><td>Points</td></tr>";
    while($row = mysql_fetch_array($memberslist)) {
        if ($row['User_ID'] == $id) {
            echo "<tr style=\"border:1px solid gray\" bgcolor=\"gray\"><td>" . $row['User_ID'] . "</td><td><b>" . $row['Correct_Picks'] . " </b> /" . $maxcorrectpicks . "</td><td>" . $row['Points'] . "</td></tr>";
        } else {
            echo "<tr><td>" . $row['User_ID'] . "</td><td><b>" . $row['Correct_Picks'] . " </b> /" . $maxcorrectpicks . "</td><td>" . $row['Points'] . "</td></tr>";
    }
    }
    ?>
    </table></center>

</body>

【问题讨论】:

  • 你真的需要validate your HTML。您不能将&lt;h2&gt; 作为&lt;table&gt; 的子级。为第一个 &lt;tr&gt;style 属性应用边框,或者更好的是,将其放入您的 CSS 文件中。
  • 我尝试添加边框 = 1,但这不起作用你能发布你的建议吗??
  • 无效且非语义的 HTML 散布着繁重的 PHP 逻辑。如果您继续编写这样的代码,您将很快陷入开发地狱。查看诸如 Symfony、Yii 或 CodeIgniter 之类的 MVC 框架,并尽可能开始研究使用基于 CSS 的布局。
  • 这些都不是无效的,因为它正在工作。是的,这不是一个理想的方式,但我目前不在乎。请帮我解答我的问题。

标签: php html css html-table border


【解决方案1】:

这是展示性的,因此将其混入 PHP 是一个坏主意。相反,使用 CSS:

tr:first-child td { border-top: 1px solid black; border-bottom: 1px solid black; }
tr:first-child td:first-child { border-left:1px solid black; }
tr:first-child td:last-child { border-right:1px solid black; }

IE7+8 对 *-child 选择器的支持可能有点问题。如果它在这些浏览器中不起作用,请考虑使用 JavaScript polyfill。

您可能还希望将标题放在&lt;thead&gt;&lt;th&gt; 元素中,以使带有数据的&lt;tr&gt; 成为&lt;tbody&gt; 元素中的第一行。

例如

<table>
  <thead>
    <tr>
      <th>Team</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
    </tr>
  </tbody>
</table>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 2013-12-27
    • 2015-12-31
    • 1970-01-01
    • 2011-08-20
    • 2022-01-24
    • 1970-01-01
    相关资源
    最近更新 更多