第七章 TABLE表格
表格在網站應用中非常廣泛,可以友善靈活的排版,很多動态大型網站也都是借助表格排版,表格可以把互相關聯的資訊元素集中定位,使浏覽頁面的人一目了然.是以說要制作好網頁,就要學好表格
7-1 定義表格的基本文法
在html文檔中,表格是通過<table>,<th>,<tr>,<td>标簽來完成的,如下表所示:
表格标記
标 簽 | 描 述 |
<table>...</table> | 用于定義一個表格開始和結束 |
<th>...</th> | 定義表頭單元格。表格中的文字将以粗體顯示,在表格中也可以不用此标簽,<th>标簽必須放在<tr>标簽内 |
<tr>...</tr> | 定義一行标簽,一組行标簽内可以建立多組由<td>或<th>标簽所定義的單元格 |
<td>...</td> | 定義單元格标簽,一組<td>标簽将将建立一個單元格,<td>标簽必須放在<tr>标簽内 |
在一個最基本的表格中,必須包含一組<table>标簽,一組标簽<tr>和一組<td>标簽或<th>。
執行個體:7-1.html
<HEAD>
<TITLE>一個簡單的表格</TITLE>
</HEAD>
<BODY>
<center>
<table>
<tr>
<td>第1行中的第1列</td>
<td>第1行中的第2列</td>
<td>第1行中的第3列</td>
</tr>
<tr>
<td>第2行中的第1列</td>
<td>第2行中的第2列</td>
<td>第2行中的第3列</td>
</tr>
</table>
</center>
</BODY>
</HTML>
7-2(1)表格<table>标簽的屬性
表格标簽<table>有很多屬性,最常用的屬性有:
<table>标簽的屬性
屬 性 | 描 述 |
width | 表格的寬度 |
height | 表格的高度 |
align | 表格在頁面的水準擺放位置 |
background | 表格的背景圖檔 |
bgcolor | 表格的背景顔色 |
border | 表格邊框的寬度(以像素為機關) |
bordercolor | 表格邊框顔色 |
bordercolorlight | 表格邊框明亮部分的顔色 |
bordercolordark | 表格邊框昏暗部分的顔色 |
cellspacing | 單元格之間的間距 |
cellpadding | 單元格内容與單元格邊界之間的空白距離的大小 |
執行個體:7-2-1.html
<html>
<head>
<title>無标題文檔</title>
</head>
<body>
<table border=10 bordercolor="#006803" align="center" bgcolor="#DDFFDD" width=500 height="200"bordercolorlight="#FFFFCC" bordercolordark="#660000" background="http://www.cnblogs.com/imge/b0024.gif" cellspacing="2" cellpadding="8">
<tr>
<td>第1行中的第1列</td>
<td>第1行中的第2列</td>
<td>第1行中的第3列</td>
</tr>
<tr>
<td>第2行中的第1列</td>
<td>第2行中的第2列</td>
<td>第2行中的第3列</td>
</tr>
</table>
</body>
</html>
7-2(2) 表格的邊框顯示狀态 frame
表格的邊框分别有上邊框、下邊框、左邊框、右邊框。這四個邊框都可以設定為顯示或隐藏狀态
文法格式:<table frame="邊框顯示值">
表格邊框顯示狀态frame的值的設定
frame的值 | 描 述 |
box | 顯示整個表格邊框 |
void | 不顯示表格邊框 |
hsides | 隻顯示表格的上下邊框 |
vsides | 隻顯示表格的左右邊框 |
alove | 隻顯示表格的上邊框 |
below | 隻顯示表格的下邊框 |
lhs | 隻顯示表格的左邊框 |
rhs | 隻顯示表格的右邊框 |
執行個體:7-2-2.html
<HTML>
<HEAD>
<TITLE>表格邊框的顯示狀态</TITLE>
</HEAD>
<BODY >
<TABLE border=6 bgcolor="#FFFFCC" frame="hsides" bordercolor="#9900FF" width="400" height="160">
<TR>
<TH>姓名</TH>
<TH>性别</TH>
<TH>年齡</TH>
<TH>專業</TH>
</TR>
<TR>
<TD>卡卡</TD>
<TD>男</TD>
<TD>50</TD>
<TD>計算機</TD>
</TR>
</TABLE>
</BODY>
</HTML>
7-4(3) 設定分隔線的顯示狀态 rules
文法格式:<table rules="值">
分隔線的顯示狀态rules的值的設定
rules的值 | 描 述 |
all | 顯示所有分隔線 |
groups | 隻顯示組與組的分隔線 |
rows | 隻顯示行與行的分隔線 |
cols | 隻顯示列與列的分隔線 |
none | 所有分隔線都不顯示 |
執行個體:7-2-3.html
<html>
<head>
<title>無标題文檔</title>
</head>
<body>
<TABLE border=6 bgcolor="#FFFFCC" rules="cols" bordercolor="#9900FF" width="400" height="160" align="center">
<TR>
<TH>姓名</TH>
<TH>性别</TH>
<TH>年齡</TH>
<TH>專業</TH>
</TR>
<TR>
<TD>笨笨貓</TD>
<TD>女</TD>
<TD>99</TD>
<TD>計算機</TD>
</TR>
</TABLE><p>
<TABLE border=6 bgcolor="#FFFFCC" rules="rows" bordercolor="#9900FF" width="400" height="160" align="center">
<TR>
<TH>姓名</TH>
<TH>性别</TH>
<TH>年齡</TH>
<TH>專業</TH>
</TR>
<TR>
<TD>笨笨貓</TD>
<TD>女</TD>
<TD>99</TD>
<TD>計算機</TD>
</TR>
</TABLE>
</body>
</html>
7-3 表格行的設定
表格是按行和列(單元格)組成的,一個表格有幾行組成就要有幾個行标簽<tr>,行标簽用它的屬性值來修飾,屬性都是可選的。
<tr>标簽的屬性
屬 性 | 描 述 |
align | 行内容的水準對齊 |
valign | 行内容的垂直對齊 |
bgcolor | 行的背景顔色 |
bordercolo | 行的邊框顔色 |
bordercolorlight | 行的亮邊框顔色 |
bordercolordark | 行的暗邊框顔色 |
<TR> 的參數設定(常用):
<tr align="RIGHT" valign="MIDDLE" bgcolor="#0000FF" bordercolor="#FF00FF" bordercolorlight="#808080" bordercolordark="#FF0000">
執行個體:7-3.html
<HTML>
<HEAD>
<TITLE>表格行的控制</TITLE>
</HEAD>
<BODY>
<TABLE border=1 align="center" width="80%" height="150">
<TR ALIGN="CENTER">
<TH>姓 名</TH>
<TH>性 别</TH>
<TH>年 齡</TH>
<TH>專 業</TH>
</TR>
<TR ALIGN=CENTER bordercolor="#336600" bgcolor="#C1FFC1">
<TD>咚 咚</TD>
<TD>男</TD>
<TD>18</TD>
<TD>學 生</TD>
</tr>
<tr align=center height=50 bordercolor=navy bgcolor="#86B8E1" valign=bottom bordercolorlight="#E1F0FD" bordercolordark="#002346">
<TD>楠 楠</TD>
<TD>女</TD>
<TD>17</TD>
<TD>學 生</TD>
</TR>
</TABLE>
</BODY>
</HTML>
7-4 單元格的設定
<th>和<td>都是插入單元格的标簽,這兩個标簽必須嵌套在<tr>标簽内。是成對出現的。<th>用于表頭标簽,表頭标簽一般位于首行或首列,标簽之間的内容就是位于該單元格内的标題内容,其中的文字以粗體居中顯示。資料标簽<td>就是該單元格中的具體資料内容,<th>和<td>标簽的屬性都是一樣的,屬性設定如下:
<th>和<td>的屬性
屬 性 | 描 述 |
width/height | 單元格的寬和高,接受絕對值(如 80)及相對值(如 80%)。 |
colspan | 單元格向右打通的欄數 |
rowspan | 單元格向下打通的列數 |
align | 單元格内字畫等的擺放貼,位置(水準),可選值為: left, center, right。 |
valign | 單元格内字畫等的擺放貼 位置(垂直),可選值為: top, middle, bottom。 |
bgcolor | 單元格的底色 |
bordercolor | 單元格邊框顔色 |
bordercolorlight | 單元格邊框向光部分的顔色 |
bordercolordark | 單元格邊框背光部分的顔色 |
background | 單元格 背景圖檔 |
<TD> 的參數設定格式:
例如:<td width="48%" height="400" colspan="5" rowspan="4" align="RIGHT" valign="BOTTOM" bgcolor="#FF00FF" bordercolor="#808080" bordercolorlight="#FF0000" bordercolordark="#00FF00" background="myweb.gif">
執行個體:7-4.html
<HTML>
<HEAD>
<TITLE>單元格的設定</TITLE>
</HEAD>
<BODY>
<TABLE border=1 align="center" height="150" width="80%">
<TR>
<TH width=70 bgcolor="#FFCC00">姓 名</TH>
<TH bgcolor="#FFCCFF">性 别</TH>
<TH background="http://www.cnblogs.com/imge/b0024.gif">年 齡</TH>
<TH background="http://www.cnblogs.com/imge/aki-5.gif">專 業</TH>
</TR>
<TR>
<TD bordercolor=red align="left">笨笨貓</TD>
<TD bordercolorlight="#FFCCFF" bordercolordark="#FF0000" align="center">女</TD>
<TD bgcolor="#FFFFCC" valign="bottom" align="center">18</TD>
<TD bgcolor="#CCFFFF" align="right">學生</TD>
</TR>
</TABLE>
</BODY>
</HTML>
7-5 設定跨多行多列單元格
要建立跨多行、多列的單元格,隻需在<TH>或<TD>中加入ROWSPAN或COLSPAN屬性的屬性值,預設值為1。表明了表格中要跨越的行或列的個數。
跨多列的文法: <th colspan=#> <td colspan=#>
colspan表示跨越的列數,例如colspan=2表示這一格的寬度為兩個列的寬度。
跨多行的文法: <th rowspan=#> <td rowspan=#>
rowspan所要表示的意義是指跨越的行數,例如rowspan=2就表示這一格跨越表格兩個行的高度。
執行個體:7-5.html
<html>
<head>
<title>跨多行跨多列的單元格</title>
</head>
<body>
<center>
<table border=10 width=80% align="center" height="150" background="http://www.cnblogs.com/imge/b0024.gif" bordercolorlight="#9999FF" bordercolordark="#9900CC">
<TR ALIGN=center>
<TH colspan=3> 學生基本資訊</TH>
<TH colspan=2>成 績</TH>
</TR>
<TR ALIGN=center>
<TH>姓 名</TH>
<TH>性 别</TH>
<TH>專 業</TH>
<TH>課 程</TH>
<TH>分 數</TH>
</TR>
<TR ALIGN=center>
<TD>咚 咚</TD>
<TD>男</TD>
<TD rowspan=2>計算機</TD><TD rowspan=2>程式設計</TD>
<TD>68</TD>
</TR>
<TR ALIGN=center>
<TD>喃 喃</TD>
<TD>女</TD>
<TD>89</TD>
</TR>
</table>
</body>
</html>
7-6 表格的分組
7-6-1 表格的行分組<thead>/<tbody>/<tfoot>
html文檔的表格按行分組是由表頭标簽<thead>、表格主體标簽<tbody>和尾注标簽<tfoot>三個部分組成的。其中尾注标簽很少用。<thead>标簽是成對标簽,其标簽内是由表頭标簽辨別的表頭元素。<tbody>标簽用于規定表格主體部分的元素。<thead>和<tbody>标簽的屬性和<th><td>标簽是一樣的。
執行個體:7-6-1.html
<html>
<head>
<title>表格按行分組</title>
</head>
<body>
<center>
<table border=3 width=60% align="center" height="150">
<thead bgcolor="#CCFFCC">
<TR ALIGN=center>
<TH>姓 名</TH>
<TH>性 别</TH>
<TH>專 業</TH>
</TR>
</thead>
<tbody bgcolor="#448FBD">
<TR ALIGN=center>
<TD>咚 咚</TD><TD>男</TD><TD>計算機</TD>
</TR>
<TR ALIGN=center>
<TD>喃 喃</TD><TD>女</TD><TD>園 林</TD>
</TR>
</tbody>
</table>
</body>
</html>
7-6-2 表格按列分組<colgroup>
html使用<colgroup>标簽來将表格分組。
文法格式:<colgroup span="數值" align="參數">
說明:<colgroup>标簽有兩個屬性,span和align, 他們都是可選的。span屬性的值是數字,表示該組包含的列數,預設值為1。align屬性用以規定該組所跨列中所有單元格中内容在水準方向上的位置。該屬性的值為left,center,right之一。它們表示單元格的内容是左對齊,水準居中還是右對齊。
執行個體:7-6-2.html
<html>
<head>
<title>表格按列分組</title>
</head>
<body>
<center>
<table border=10 width=80% height="160" align="center" bordercolorlight="#CCCCFF" bordercolordark="#9900FF">
<tr>
<th>姓名</th><th>性别</th><th>專業</th><th>分數</th>
</tr>
<colgroup span=2 align=center>
<colgroup align =left>
<colgroup align=right>
<tr>
<td>咚 咚</td><td>男</td><td>計算機</td><td>79</td>
</tr>
<tr>
<td>喃 喃</td><td>女</td><td>園 林</td><td>90</td>
</tr>
<tr>
<td>依 依</td><td>女</td><td>微波通信</td><td>76<td>
</tr>
</table>
</body>
</html>
7-6-3 表格的行列分組
執行個體:7-6-3.html
<HTML>
<HEAD>
<TITLE>同時進行行列分組</TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLE BORDER=10 WIDTH=80% height="200" align="center" bordercolor="#9900FF">
<THEAD bgcolor="#FFFFCC">
<TR><TH>姓名</TH><TH>性别</TH><TH>專業</TH><TH>分數</TH>
<TR>
</THEAD>
<COLGROUP SPAN=2 ALIGN=CENTER>
<COLGROUP ALIGN=LEFT>
<COLGROUP ALIGN=RIGHT>
<TBODY bgcolor="#FFCCFF">
<TR>
<TD>咚 咚</TD><TD>男</TD><TD>計算機</TD><TD>85</TD>
</TR>
<TR>
<TD>喃 喃</TD><TD>女</TD><TD>園 林</TD><TD>94</TD>
</TR>
<TR>
<TD>依 依</TD><TD>女</TD><TD>微波通信</TD><TD>87</TD>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>
7-7 表格的标題标簽<caption>
表格标題的位置,可由ALIGN屬性和VALIGN屬性來設定,ALIGN屬性設定标題位于文檔的左,中,右。 VALIGN屬性設定标題位于表格的上方和表格的下方。下面為表格标題位置的設定格式。
文法格式:
<caption align="值" valign="值" >表哥标題</caption>
<caption>應放在<table>标簽内,在表格行标簽<tr>标簽之前。
<caption>标簽的預設屬性是标題位于表格的上方中間位置。
執行個體:7-7.html
<html>
<head>
<title>表格的标題标簽</title>
</head>
<body>
<center>
<table border=10 width=80% align="center" height="150" background="http://www.cnblogs.com/imge/b0024.gif" bordercolorlight="#9999FF" bordercolordark="#9900CC">
<caption>學生資訊表</caption>
<TR ALIGN=center>
<TH colspan=3> 學生基本資訊</TH>
<TH colspan=2>成 績</TH>
</TR>
<TR ALIGN=center>
<TH>姓 名</TH>
<TH>性 别</TH>
<TH>專 業</TH>
<TH>課 程</TH>
<TH>分 數</TH>
</TR>
<TR ALIGN=center>
<TD>咚 咚</TD>
<TD>男</TD>
<TD rowspan=2>計算機</TD><TD rowspan=2>程式設計</TD>
<TD>68</TD>
</TR>
<TR ALIGN=center>
<TD>喃 喃</TD>
<TD>女</TD>
<TD>89</TD>
</TR>
</body>
</html>
7-8 表格的嵌套
在html頁面中,使用表格排版是通過嵌套來完成的,即一個表格内部可以嵌套另一個表格,用表格來排版頁面的思路是:由總表格規劃整體的結構,由嵌套的表格負責各個子欄目的排版,并插入到表格的相應位置,這樣就可以使頁面的各個部分有條不紊,互不沖突,看上去清晰整潔。在實際做網頁時一般不顯示邊框,邊框的顯示可根據自己的愛好來設定。在執行個體中為了讓大家能夠看清楚,都設定了有邊框。
執行個體7-8.html
<html>
<head>
<title>表格嵌套</title>
</head>
<body bgcolor="#555555" text="#FFFFFF">
<table width="560" border="3" cellspacing="1" cellpadding="1" align="center">
<tr>
<td width="100" height="69">網頁标志</td>
<td colspan="2"><div align="center">廣告條</div></td>
</tr>
<tr>
<td height="330"><table width="100" height="321" border="3" align="center" cellpadding="1" cellspacing="1">
<tr>
<td>标題欄</td>
</tr>
<tr>
<td>标題欄</td>
</tr>
<tr>
<td>标題欄</td>
</tr>
<tr>
<td>标題欄</td>
</tr>
<tr>
<td>标題欄</td>
</tr>
<tr>
<td>标題欄</td>
</tr>
<tr>
<td>标題欄</td>
</tr>
<tr>
<td>标題欄</td>
</tr>
<tr>
<td>标題欄</td>
</tr>
<tr>
<td height="90">内容六</td>
</tr>
</table></td>
<td width="275"><table width="275" height="325" border="3" cellpadding="1" cellspacing="1">
<tr>
<td width="263">内容一</td>
</tr>
<tr>
<td>内容二</td>
</tr>
</table></td>
<td width="163"><table width="157" height="320" border="3" cellpadding="1" cellspacing="1" align="center">
<tr>
<td width="136" height="94">内容三</td>
</tr>
<tr>
<td height="62">内容四</td>
</tr>
<tr>
<td height="160">内容五</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>