天天看点

HTML5表格元素

表格有三大元素:table、tr、td。

表格

表格由<table>标签来定义。每个表格均有若干行(由<tr>标签定义),每行被分割为若干单元格(由<td>标签定义)。

字母tr指表格行(table row);字母td指表格数据(table data),即数据单元格的内容。

数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等。

<!DOCTYPE html>

<html>

<head>
  <meta charset="utf-8">
  <title>无边框表格</title>
</head>

<body>
  <table>
    <tr>
      <td>(1, 1)</td>
      <td>(1, 2)</td>
    </tr>
    <tr>
      <td>(2, 1)</td>
      <td>(2, 2)</td>
    </tr>
  </table>
</body>

</html>
           

在浏览器中显示如下:

HTML5表格元素

表格和边框属性

如果不定义边框属性,表格将不显示边框。有时这很有用,但大多数时候,我们希望显示边框。

使用边框属性border来显示一个带有边框的表格。

<!DOCTYPE html>

<html>

<head>
  <meta charset="utf-8">
  <title>有边框表格</title>
</head>

<body>
  <table >  <!-- 单位是像素,可省略 -->
    <tr>
      <td>(1, 1)</td>
      <td>(1, 2)</td>
    </tr>
    <tr>
      <td>(2, 1)</td>
      <td>(2, 2)</td>
    </tr>
  </table>
</body>

</html>
           

但是不建议使用border属性定义边框,推荐使用css

HTML5表格元素

表格的表头

表格的表头使用<th>标签定义。

大多数浏览器会把表头显示为粗体居中的文本。

<!DOCTYPE html>

<!DOCTYPE html>


<html>


<head>
  <meta charset="utf-8">
  <title>有表头的表格</title>
</head>


<body>
  <table >
    <tr>
      <th>第一列</th>
      <th>第二列</th>
    </tr>
    <tr>
      <td>(1, 1)第一行第一列</td>
      <td>(1, 2)第一行第二列</td>
    </tr>
    <tr>
      <td>(2, 1)第二行第一列</td>
      <td>(2, 2)第二行第二列</td>
    </tr>
  </table>
</body>


</html>
           
HTML5表格元素

表格中的空单元格

在一些浏览器中,没有内容的表格单元显示得不太友好。如果某个单元格是空的(没有内容),浏览器可能无法显示出这个单元格的边框。

HTML5表格元素
<!DOCTYPE html>

<html>

<head>
  <meta charset="utf-8">
  <title>有空单元格的表格</title>
</head>

<body>
  <table >
    <tr>
      <td>(1, 1)</td>
      <td>(1, 2)</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>(2, 2)</td>
    </tr>
  </table>
</body>

</html>
           

为了避免这种情况,在空单元格中添加一个空格占位符,就可以将边框显示出来

HTML5表格元素

合并单元格

使用属性colspan和rowspan

<!DOCTYPE html>

<html>

<head>
  <meta charset="utf-8">
  <title>有合并单元格的表格</title>
</head>

<body>
  <table >
    <tr>
      <th>第一列</th>
      <th>第二列</th>
    </tr>
    <tr>
      <td rowspan="2">(1, 1)第一行第一列</td>
      <td>(1, 2)第一行第二列</td>
    </tr>
    <tr>
      <td>(2, 2)第二行第二列</td>
    </tr>
    <tr>
      <td colspan="2">(3, 1)第三行第一列</td>
    </tr>
  </table>
</body>

</html>
           
HTML5表格元素

附:其实还有<thead><tbody><tfoot>这三个标签,但是因为浏览器支持太差,所以很少出现。

继续阅读