HTML表格

演讲者:whqet

内容提纲

  1. 表格简介
  2. 标签详解
  3. 表格案例

表格简介

表格不再用于布局页面,用于呈现网页数据

表格呈现多维的结构性数据

信息的可视化趋势,图化、表化

table元素

类型取值
分类 流内容-Flow content
可感知内容-Palpable content
元素上下文 需要流内容的地方
内容模型 按照下列顺序依次排列:
  1. 可选的caption元素
  2. 0~n个colgroup元素
  3. 可选的thead元素
  4. 可选的tfoot元素
  5. 0~n个tbody元素(1~n个tr元素)
  6. 1~n个tr元素
  7. 可选的tfoot元素(一个table只能有一个tfoot)
属性 全局属性
border属性 - 设置边框
sortable属性 - 是否可排序

table示例

<table border="1" summary="学生信息表">
    <caption>学生信息表</caption>
    <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>20</td><td>软件251</td></tr>
        <tr><td>赵四</td><td>女</td><td>18</td><td>软件252</td></tr>
        <tr><td>王五</td><td>男</td><td>21</td><td>软件257</td></tr>
        <tr><td>田七</td><td>女</td><td>20</td><td>软件254</td></tr>
    </tbody>
</table>

table属性

属性取值及含义
border 取值为空字符串或"1", 若为"1",则为数据表格,否则为布局用表格
sortable 表格是否可排序
summary 表格摘要
cellspacing 单元格间距,单元格边框之间的距离
cellpadding 单元格填充,单元格内容与边框之间的距离
width 表格宽度
frame 表格外边框可见性,void,above,below,hsides,lhs,rhs,vsides,box,border
rules 表格内边框可见性,none,groups,rows,cols,all

官方建议使用border属性表示是否为“布局”表格

table属性实验

caption元素

表格标题元素,可以利用align属性设置位置,最好利用css设置位置。

类型取值
分类
元素上下文 table元素的第一个子元素
内容模型 流媒体,但是不能是th、tr、td等table的子元素标签
属性 全局属性

tr元素

代表表格的行

可以作为thead、tbody、tfoot或table的子元素

类型取值
分类
元素上下文 可以作为thead、tbody、tfoot和table的子元素
内容模型 0或者多个th或者td
属性 全局属性

th元素

代表表格的表头单元格,默认粗体居中显示

tr元素的子元素

类型取值
分类
元素上下文 tr元素的子元素
内容模型 流内容,但不能是header、footer、节内容(article、side、nav、section)、标题元素(h1~h6)
属性 全局属性
colspan属性,单元格所跨的列数
rowspan属性,单元格所跨的行数
headers属性,跟单元格相关的表头
scope属性,规定某个单元格是否是列、行、列组或行组的表头,可取row、col、rowgroup、colgroup等四个值。
abbr属性,规定单元格中内容的缩写版本
sorted属性,列的排序方向和序数

td元素

代表表格的单元格

tr元素的子元素

类型取值
分类
元素上下文 tr元素的子元素
内容模型 流内容
属性 全局属性
colspan属性,单元格所跨的列数
rowspan属性,单元格所跨的行数
headers属性,跟单元格相关的表头

col元素

为表格中一个或多个列定义属性值

类型取值
分类
元素上下文 没有span属性的colgroup
内容模型
属性 全局属性
span属性,该元素横跨的列数

colgroup元素

为表格中一个或多个列定义属性值

类型取值
分类
元素上下文 table元素的子元素,caption之后,thead\tfoot\tbody、tr之前
内容模型 col元素
属性 全局属性
span属性,该元素横跨的列数

前端开发

旨为前端开发工程师的前端开发基础课程