表格table标签的及其tr/td/th等标签使用方法

1.相关概念
(1)表格由 <table> 标签来定义;每个表格均有若干行,由 <tr> 标签定义;每行被分割为若干单元格,由 <td> 标签定义;字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。
(2)表格的边框属性,如果不定义边框属性,表格将不显示边框。有时这很有用,但是大多数时候,我们希望显示边框。使用边框属性来显示一个带有边框的表格。
(3)表格的表头使用 <th> 标签进行定义,它类似于td,但是th是加粗的。
(4)表格中的空单元格,在一些浏览器中,没有内容的表格单元显示得不太好。如果某个单元格是空的(没有内容),浏览器可能无法显示出这个单元格的边框,这个时候可以加个 &nbsp;让它显示。
2.案例
(1)表格的相关概念
<html>
<body>
<p>每个表格由 table 标签开始。</p><p>每个表格行由 tr 标签开始。</p><p>每个表格数据由 td 标签开始。</p>
<h4>一列:</h4>
<table border="1">
<tr>  <td>100</td></tr>
</table>
<h4>一行三列:</h4>
<table border="1">
<tr>  <td>100</td>  <td>200</td>  <td>300</td></tr>
</table>
<h4>两行三列:</h4>
<table border="1">
<tr>  <td>100</td>  <td>200</td>  <td>300</td></tr>
<tr>  <td>400</td>  <td>500</td>  <td>600</td></tr>
</table>
</body>
</html>
 
(2)表格的边框属性
<html>
<body>
<h4>带有普通的边框:</h4>  
<table border="1">
<tr>  <td>First</td>  <td>Row</td> </tr>   
<tr>  <td>Second</td>  <td>Row</td></tr>
</table>
<h4>带有粗的边框:</h4>  
<table border="8">
<tr>  <td>First</td>  <td>Row</td></tr>   
<tr>  <td>Second</td>  <td>Row</td></tr>
</table>
<h4>带有很粗的边框:</h4>  
<table border="15">
<tr>  <td>First</td>  <td>Row</td></tr>   
<tr>  <td>Second</td>  <td>Row</td></tr>
</table>
</body>
</html>
 
(3)没有边框的表格
<html>
<body>
<h4>这个表格没有边框:</h4>
<table>
<tr>  <td>100</td>  <td>200</td>  <td>300</td></tr>
<tr>  <td>400</td>  <td>500</td>  <td>600</td></tr>
</table>
<h4>这个表格也没有边框:</h4>
<table border="0">
<tr>  <td>100</td>  <td>200</td>  <td>300</td></tr>
<tr>  <td>400</td>  <td>500</td>  <td>600</td></tr>
</table>
</body>
</html>
 
(4)表格中的表头(Heading)
<html>
<body>
<h4>表头:</h4>
<table border="1">
<tr>  <th>姓名</th>  <th>电话</th>  <th>电话</th></tr>
<tr>  <td>Bill Gates</td>  <td>555 77 854</td>  <td>555 77 855</td></tr>
</table>
<h4>垂直的表头:</h4>
<table border="1">
<tr>  <th>姓名</th>  <td>Bill Gates</td></tr>
<tr>  <th>电话</th>  <td>555 77 854</td></tr>
<tr>  <th>电话</th>  <td>555 77 855</td></tr>
</table>
</body>
</html>
 
(5)空单元格
<html>
<body>
<table border="1">
<tr>  <td>Some text</td>  <td>Some text</td></tr>
<tr>  <td></td>  <td>Some text</td></tr>
</table>
<p>正如您看到的,其中一个单元没有边框。这是因为它是空的。在该单元中插入一个空格后,仍然没有边框。</p>
<p>我们的技巧是在单元中插入一个 no-breaking 空格。</p>
<p>no-breaking 空格是一个字符实体。如果您不清楚什么是字符实体,请阅读关于字符实体的章节。</p>
<p>no-breaking 空格由和号开始 ("&"),然后是字符"nbsp",并以分号结尾(";")。</p>
</body>
</html>
 
(6)带有标题的表格
<html>
<body>
<h4>这个表格有一个标题,以及粗边框:</h4>
<table border="6">
<caption>我的标题</caption>
<tr>  <td>100</td>  <td>200</td>  <td>300</td></tr>
<tr>  <td>400</td>  <td>500</td>  <td>600</td></tr>
</table>
</body>
 
(7)跨行或跨列的表格单元格
<html>
<body>
<h4>横跨两列的单元格:</h4>
<table border="1">
<tr>  <th>姓名</th>        <th colspan="2">电话</th>               </tr>
<tr>  <td>Bill Gates</td>  <td>555 77 854</td>  <td>555 77 855</td></tr>
</table>
<h4>横跨两行的单元格:</h4>
<table border="1">
<tr>  <th>姓名</th>  <td>Bill Gates</td></tr>
<tr>  <th rowspan="2">电话</th>  <td>555 77 854</td></tr>
<tr>                             <td>555 77 855</td></tr>
</table>
</body>
</html>
 
(8)表格里面嵌套标签、表格、列表、内容
<html>
<body>
<table border="1">
<tr>
  <td>   <p>这是一个段落。</p>   <p>这是另一个段落。</p>  </td>
  <td>这个单元包含一个表格:
   <table border="1">
   <tr>  <td>A</td>  <td>B</td> </tr>   
   <tr>  <td>C</td>  <td>D</td> </tr>
   </table>
  </td>
</tr>
<tr>
  <td>这个单元包含一个列表:<ul> <li>苹果</li> <li>香蕉</li> <li>菠萝</li> </ul> </td>
  <td>HELLO</td>
</tr>
</table>
</body>
</html>
 
(9)单元格边距(Cell padding):内容与边框之间的距离
<html>
<body>
<h4>没有 cellpadding:</h4>
<table border="1">
<tr>  <td>First</td>  <td>Row</td></tr>   
<tr>  <td>Second</td>  <td>Row</td></tr>
</table>
<h4>带有 cellpadding:</h4>
<table border="1" cellpadding="10">
<tr>  <td>First</td>  <td>Row</td></tr>   
<tr>  <td>Second</td>  <td>Row</td></tr>
</table>
</body>
</html>
 
(10)单元格间距(Cell spacing):单元格之间的距离
<html>
<body>
<h4>没有 cellspacing:</h4>
<table border="1">
<tr>  <td>First</td>  <td>Row</td></tr>   
<tr>  <td>Second</td>  <td>Row</td></tr>
</table>
<h4>带有 cellspacing:</h4>
<table border="1" cellspacing="10">
<tr>  <td>First</td>  <td>Row</td></tr>   
<tr>  <td>Second</td>  <td>Row</td></tr>
</table>
</body>
</html>
 
(11)向表格添加背景颜色或背景图像
<html>
<body>
<h4>背景颜色:</h4>
<table border="1" bgcolor="red">
<tr>  <td>First</td>  <td>Row</td></tr>   
<tr>  <td>Second</td>  <td>Row</td></tr>
</table>
<h4>背景图像:</h4>
<table border="1" background="/i/eg_bg_07.gif">
<tr>  <td>First</td>  <td>Row</td></tr>   
<tr>  <td>Second</td>  <td>Row</td></tr>
</table>
</body>
</html>
 
(12)向表格单元添加背景颜色或者背景图像
<html>
<body>
<h4>单元背景:</h4>  
<table border="1">
<tr>  <td bgcolor="red">First</td>  <td>Row</td></tr>   
<tr>  <td background="/i/eg_bg_07.gif">  Second</td>  <td>Row</td></tr>
</table>
</body>
</html>
 
(13)在表格单元中排列内容
<html>
<body>
<table width="400" border="1">
 <tr>  <th align="left">消费项目....</th>  <th align="right">一月</th>  <th align="right">二月</th> </tr>
 <tr>  <td align="left">衣服</td>  <td align="right">$241.10</td>  <td align="right">$50.20</td> </tr>
 <tr>  <td align="left">化妆品</td>  <td align="right">$30.00</td>  <td align="right">$44.45</td> </tr>
 <tr>  <td align="left">食物</td>  <td align="right">$730.40</td>  <td align="right">$650.00</td> </tr>
 <tr>  <th align="left">总计</th>  <th align="right">$1001.50</th>  <th align="right">$744.65</th> </tr>
</table>
</body>
</html>
 
(14)框架(frame)属性
<html>
<body>
<p><b>注释:</b>frame 属性无法在 Internet Explorer 中正确地显示。</p>
<p>Table with frame="box":</p>
<table frame="box">
  <tr>    <th>Month</th>    <th>Savings</th>  </tr>
  <tr>    <td>January</td>    <td>$100</td>  </tr>
</table>
<p>Table with frame="above":</p>
<table frame="above">
  <tr>    <th>Month</th>    <th>Savings</th>  </tr>
  <tr>    <td>January</td>    <td>$100</td>  </tr>
</table>
<p>Table with frame="below":</p>
<table frame="below">
  <tr>    <th>Month</th>    <th>Savings</th>  </tr>
  <tr>    <td>January</td>    <td>$100</td>  </tr>
</table>
<p>Table with frame="hsides":</p>
<table frame="hsides">
  <tr>    <th>Month</th>    <th>Savings</th>  </tr>
  <tr>    <td>January</td>    <td>$100</td>  </tr>
</table>
<p>Table with frame="vsides":</p>
<table frame="vsides">
  <tr>    <th>Month</th>    <th>Savings</th>  </tr>
  <tr>    <td>January</td>    <td>$100</td>  </tr>
</table>
</body>
</html>
 
(15)制作细线表格
<html>
<body>
<table width="400" height="400" border="0" bgcolor="black" cellspacing="1">
 <tr>
  <th align="center"  bgcolor="white">消费项目</th>
  <th align="center" bgcolor="white">一月</th>
  <th align="center" bgcolor="white">二月</th>
 </tr>
</table>
<p>分别设置表格的border/bgcolor/cellsapcing和单元格为上述参数,即可做出细线表格</p>
</body>
</html>
(16)表格的头部、主体、底部
<html>
<head>
<style type="text/css">
thead {color:green}
tbody {color:blue;height:50px}
tfoot {color:red}
</style>
</head>
<body>
<table border="1">
  <thead>
    <tr>  <th>Month</th> <th>Savings</th>    </tr>
  </thead>
  <tbody>
    <tr> <td>January</td> <td>$100</td> </tr>
    <tr> <td>February</td> <td>$80</td> </tr>
  </tbody>
  <tfoot>
    <tr> <td>Sum</td> <td>$180</td> </tr> </tfoot>
</table>
</body>
</html>
 
(17)col 元素为表格中的三个列规定了不同的对齐方式:左--中--右
<html>
<body>
<table width="100%" border="1">
  <col align="left" /> <col align="center" /> <col align="right" />
  <tr>
    <th>ISBN</th> <th>Title</th> <th>Price</th>
  </tr>
  <tr>
    <td>3476896</td> <td>My first HTML</td> <td>$53</td>
  </tr>
  <tr>
    <td>2489604</td> <td>My first CSS</td> <td>$47</td>
  </tr>
</table>
</body>
</html>
 
(18)两个 colgroup 元素为表格中的三列规定了不同的对齐方式和样式
<html>
<body>
<table width="100%" border="1">
  <colgroup span="2" align="left"></colgroup>
  <colgroup align="right" style="color:#0000FF;"></colgroup>
  <tr> <th>ISBN</th> <th>Title</th> <th>Price</th> </tr>
  <tr> <td>3476896</td> <td>My first HTML</td> <td>$53</td>  </tr>
  <tr> <td>2489604</td> <td>My first CSS</td> <td>$47</td> </tr>
</table>
</body>
</html>