如果就向下面的代码那样,不写 tbody , 则浏览器自添加 tbody , 并将所有的 tr 移入 tbody
意味着 tr 并非 table 的子元素,而是 tbody 的子元素。
所以 以后编写代码,尽可能地写上 tbody,防止混淆。
th 表头
是特殊的 td
“具有加粗,文字居中”的效果 。
为 table 添加边框:
1. 为 th,td 设置 border: 1px red solid;
2. 为 table 设置 /* 单元格之间的距离。*/
border-spacing: 0px;
3. 为 table 设置 /* 表格的边框合并。设置以后 border-spacing 自动失效*/
border-collapse: collapse;
关于行的 隔行变色 及 悬浮变色
css代码:
@charset "utf-8"; *{
margin: 0px;
padding: 0px;
} body{
background-color: #3e4e54;
} table{
margin: 0px auto;
width: 40%; /* 单元格之间的距离。*/
border-spacing: 0px; /* 表格的边框合并。设置以后 border-spacing 自动失效*/
border-collapse: collapse;
} #mytb th,td{
border: 1px red solid;
} /* 隔行变色 IE8 及以下不支持 :nth-child() */
tr:nth-child(even){
background-color: #666;
} /* 悬浮变色 IE6及以下不支持 a 以外的元素使用 :hover */
tr:hover{
background-color: #bfc;
}
html代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>表格</title> <link rel="stylesheet" type="text/css" href="css/table.css" />
</head> <body>
Hello Web!` <br />
table 是<b>块元素</b>,独占一行 <table id="mytb">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr> <tr>
<td>刘备</td>
<td>35</td>
<td>男</td>
</tr> <tr>
<td>关羽</td>
<td>33</td>
<td>男</td>
</tr> <tr>
<td>张飞</td>
<td>30</td>
<td>男</td>
</tr> <tr>
<td>唐僧</td>
<td>27</td>
<td>男</td>
</tr> <tr>
<td>孙悟空</td>
<td>633</td>
<td>男</td>
</tr> <tr>
<td>猪八戒</td>
<td>830</td>
<td>男</td>
</tr> <tr>
<td>沙悟净</td>
<td>735</td>
<td>男</td>
</tr> <tr>
<td>白龙马</td>
<td>533</td>
<td>男</td>
</tr> <tr>
<td>白骨精</td>
<td>130</td>
<td>女</td>
</tr> <tr>
<td>蜘蛛精</td>
<td>135</td>
<td>女</td>
</tr> <tr>
<td>金角大王</td>
<td>430</td>
<td>男</td>
</tr> <tr>
<td>东海龙王</td>
<td>3000</td>
<td>男</td>
</tr>
</table>
</body>
</html>