本节为表格的最后一节,主要包含两点:
2、表格的结构化、直列化、标题。
拆分与合并单元格
属性名称 属性值 说明
colspan 数字 向两边扩展栏位
rowspan 数字 向下扩展栏位
colspan向两边扩展栏位。注:作用在td里面,看下例:
- <table border="1" width="300" height="200"><!--border是表格的属性-->
- <tr><th>姓名</th><th>性别</th><th>年龄</th><th>职业</th></tr><!--<tr>代表一行 <th>代表标题 -->
- <tr><td>阿牛</td><td>男</td><td>23</td><td>运营经理</td></tr>
- <tr><td colspan="2">张三</td><td>男</td><td>20</td><td>技术主管</td></tr>
- <tr><td>小李</td><td>女</td><td>25</td><td>美工设计</td></tr>
- </table>
我们会发现,张三的姓名格占了姓名和性别两格,而后面的职业格后移一位,导致整个表格错乱,以致出现错误,那么怎么实现张三的姓名格和性别格的合并呢?
第一步:先删掉不要的空格,也就是要合并的一个空格。
- <tr><td>张三</td><td>男</td><td>20</td><td>技术主管</td></tr>
- <tr><td>张三</td><td>20</td><td>技术主管</td></tr>
如果要合并一行的两列表格,那么就在张三这个td标签中输入colspan="2",如下:
- <tr><td colspan="2">张三</td><td>20</td><td>技术主管</td></tr>
我们发现张三的姓名列和性别列合并了。另外还可以在给合并过的单元格来个属性居中。
<tr><td colspan="2">张三</td><td>20</td><td>技术主管</td></tr>,“张三”二字就会在单元格内居中。
rowspan 向下扩展栏位
如果张三和小李都是技术主管,那么在职业栏的表格中就没必要写两个技术主管,那么这时rowspan就起到作用了。
- <table border="1" width="300" height="200"><!--border是表格的属性-->
- <tr><th>姓名</th><th>性别</th><th>年龄</th><th>职业</th></tr><!--<tr>代表一行 <th>代表标题 -->
- <tr><td>阿牛</td><td>男</td><td>23</td><td>运营经理</td></tr>
- <tr><td>张三</td><td>男</td><td>20</td><td rowspan="2">技术主管</td></tr>
- <tr><td>小李</td><td>女</td><td>25</td></tr>
- </table>
同理,上下合并只需删除上下对应的其中一个,然后在相应的td标签中加入rowspan=”2”即可。
表格的结构化、直列化、标题
(1).结构化格式:
- <table>
- <thead>……</thead> --------表头区
- <tbody>……</tbody> --------表体区
- ………………………
- <tfoot>……</tfoot> --------表尾区
- </table>
如果把th标签书序放在中间
- <table border="1" width="300" height="200">
- <tr><td>阿牛</td><td>男</td><td>23</td><td>运营经理</td></tr>
- <tr><td>张三</td><td>男</td><td>20</td><td>技术主管</td></tr>
- <tr><th>姓名</th><th>性别</th><th>年龄</th><th>职业</th></tr>
- <tr><td>小李</td><td>女</td><td>25</td><td>美工技术</td></tr>
- </table>
如果我们给th表格加上表头
- <table border="1" width="300" height="200">
- <tr><td>阿牛</td><td>男</td><td>23</td><td>运营经理</td></tr>
- <tr><td>张三</td><td>男</td><td>20</td><td>技术主管</td></tr>
- <thead>
- <tr><th>姓名</th><th>性别</th><th>年龄</th><th>职业</th></tr>
- </thead>
- <tr><td>小李</td><td>女</td><td>25</td><td>美工技术</td></tr>
- </table>
如图我们会发现表格头部会被自动上浮,排在首行。
- <table border="1" width="300" height="200"><!--border是表格的属性--><!--<tr>代表一行 <th>代表标题 -->
- <thead>
- <tr><th>姓名</th><th>性别</th><th>年龄</th><th>职业</th></tr>
- </thead>
- <tfoot>
- <tr><td colspan="4">信息总汇</td></tr>
- </tfoot>
- <tbody>
- <tr><td>阿牛</td><td>男</td><td>23</td><td>运营经理</td></tr>
- <tr><td>张三</td><td>男</td><td>20</td><td>技术主管</td></tr>
- </tbody>
- </table>
不管thead、tbody、tfoot怎样颠倒位置,最终在浏览器的展现顺序都是thead在上,tbody在中间,tfoot在下面。
(2).直列化格式:<colgroup>….</colgroup>
个别直列设置
格式:<col>功能完全和<colgroup>一样.
重点讲span,其他的大家线下多试试。
- <table border="1" width="300" height="200">
- <colgroup span="1" bgcolor="red"></colgroup>
- <tr><th>姓名</th><th>性别</th><th>年龄</th><th>职业</th></tr>
- <tr><td>阿牛</td><td>男</td><td>23</td><td>运营经理</td></tr>
- <tr><td>张三</td><td>男</td><td>20</td><td>技术主管</td></tr>
- <tr><td>小李</td><td>女</td><td>25</td><td>美工技术</td></tr>
- </table>
span的属性值,是指对从左边起第一列的多少列进行背景颜色或背景图片的定义。
注:在火狐下无效,在谷歌和ie下有效。
那么怎么实现针对特定一列进行定义呢?
个别直列设置 格式:<col>功能完全和<colgroup>一样.
- <table border="1" width="300" height="200">
- <col bgcolor="yellow"></col>
- <col bgcolor="green"></col>
- <col bgcolor="red"></col>
- <tr><th>姓名</th><th>性别</th><th>年龄</th><th>职业</th></tr>
- <tr><td>阿牛</td><td>男</td><td>23</td><td>运营经理</td></tr>
- <tr><td>张三</td><td>男</td><td>20</td><td>技术主管</td></tr>
- <tr><td>小李</td><td>女</td><td>25</td><td>美工技术</td></tr>
- </table>
我们在测试中不难发现,<col>出现的次数决定着定义的列数。
(3).表格的标题:
- <table>
- <caption>….</caption>
- </table>
<caption>下的属性值有:
属性名称 属性值 说明
align top 标题在表格上方
bottom 标题在表格下方
caption主要应用在表的头和尾,系统默认是top属性
- <table border="1" width="300" height="200">
- <caption>人员信息表</caption>
- <col bgcolor="yellow"></col>
- <col bgcolor="green"></col>
- <col bgcolor="red"></col>
- <tr><th>姓名</th><th>性别</th><th>年龄</th><th>职业</th></tr>
- <tr><td>阿牛</td><td>男</td><td>23</td><td>运营经理</td></tr>
- <tr><td>张三</td><td>男</td><td>20</td><td>技术主管</td></tr>
- <tr><td>小李</td><td>女</td><td>25</td><td>美工技术</td></tr>
- </table>
即<caption>人员信息表</caption>=<caption align="top">人员信息表</caption>
来自外部的引用