玩转HTML5+跨平台开发[4] HTML表格标签
表格标签
- 在过去表格标签用的非常非常的多, 绝大多数的网站都是使用表格标签来制作的, 也就是说表格标签是一个时代的代表
- 作用:以表格形式将数据显示出来, 当数据量非常大的时候, 表格这种展现形式被认为是最为清晰的一种展现形式
- 格式:
- table定义表格
- tr定义行
- td定义单元格
<!--先定义一个表格, 然后通过tr告诉浏览器这个表格中一共有多少行, 然后再通过td告诉浏览器这一行中一共有多少个元素(一共有多少列)--> <table> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> </table>
表格中的属性
-
border: 默认情况下表格的边框宽度为0看不到, 通过border属性给表格指定边框宽度
-
width: 默认情况下表格的宽度是由内容自动计算出来的, 可以通过width属性指定表格的宽度
-
height:默认情况下表格的高度是由内容自动计算出来的, 可以通过height属性指定表格的高度
-
cellspacing: 外边距. 默认情况下单元格之间有2个像素的间隙, 可以通过cellpadding指定表格之间的间隙
-
cellpadding: 内边距. 默认情况下单元格边缘距离内容有1个像素的内边距, 可以通过cellpadding属性指定单元格边缘和内容之间的内边距
-
align: 规定表格相对周围元素的对齐方式, 它的取值有center、left、right
- 给table设置align属性, 是让表格在
浏览器
中居左/居右/居中 - 给tr设置align属性, 是让当前行中
所有内容
居左/居右/居中 - 给td设置align属性,是让当前单元格中
所有内容
居左/居右/居中 - 该属性仅仅作为了解, 企业开发中用css代替, 因为HTML仅仅用于说明语义
- 如果td中设置了align属性, tr中也设置了align属性, 那么单元格中的内容会按照td中设置的来对齐
- 给table设置align属性, 是让表格在
-
valign: 规定表格相对周围元素的对齐方式, 它的取值有center、left、right
- 给table设置valign属性, 无效
- 给tr设置valign属性, 是让当前行中
所有内容
居上/居中/居下 - 给td设置valign属性,是让当前单元格中
所有内容
居上/居中/居下 - 如果td中设置了valign属性, tr中也设置了valign属性, 那么单元格中的内容会按照td中设置的来对齐
-
bgcolor:规定表格的背景颜色
- 给table设置bgcolor属性, 是给整个表格设置背景颜色
- 给tr设置bgcolor属性, 是给当前行设置背景颜色
- 给td设置bgcolor属性, 是给当前单元格设置背景颜色
- 即table标签和tr标签以及td标签都支持bgcolor属性
- 该属性仅仅作为了解, 企业开发中用css代替, 因为HTML仅仅用于说明语义
表格中的其它标签
-
表单中有两种类型的单元格, 一种是标准单元格td, 一种是表头单元格th
-
th标签: 给每一列设置标题, 单元格中的内容会自动加粗,居中
-
caption标签:给整个表格设置标题. 只要将标题写在caption标签中, 那么标题就会自动相对于表格的宽度居中
- 一定要嵌套在talbe标签内部才有效,一定要紧跟在table标签后面
<table bgcolor="black" cellspacing="1px" width="800px" align="center"> <caption> <h2>今日小说排行榜</h2> </caption> <tr bgcolor="#a9a9a9"> <th>排名</th> <th>关键词</th> <th>趋势</th> <th>今日搜索</th> <th>最近七日</th> <th>相关链接</th> </tr> <tr bgcolor="white" align="center"> <td>1</td> <td align="left">暴走大事件</td> <td> <img src="images/up.jpg"> </td> <td>623557</td> <td>4088311</td> <td> <a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a> </td> </tr> </table>
表格的结构
-
thead标签:用来存放当前列的表头, 如果没有加css页面默认将表头中的高度设置变小
-
tbody标签:一般用来存放页面中的主体数据, 如果不写会自动加上
-
tfoot标签:用来存放表格的页脚(脚注或表注), 如果没有加css页面默认将表头中的高度设置变小,
一般不会出现
-
注意点:
- 如果我们没有编写tbody, 系统会系统给我们添加tbody
- 如果指定了thead和tfoot, 那么在修改整个表格的高度时, thead和tfoot有自己默认的高度, 不会随着表格的高度变化而变化
<table> <caption>表格的标题</caption> <thead> <tr> <th>每一列的标题</th> </tr> </thead> <tbody> <tr> <td>数据</td> </tr> </tbody> <tfoot> <tr> <td>数据</td> </tr> </tfoot> </table>
- 表格结构的意义主要是用于SEO, 便于搜索引擎指定哪部分的内容是需要抓取的重要内容, 一般情况下搜索引擎会优先抓取tbody中的内容
- 由于有一部分浏览器对talbe的这种结构支持不是很好, 所以在企业开发中一般都不用严格的按照这种结构来编写
单元格合并
- 水平方向上的单元格合并
可以给td标签添加一个colspan属性, 来指定把某一个单元格当做多个单元格来看待(水平方向)
例如:
<td colspan="2"></td>
含义: 把当前单元格当做两个单元格来看待
注意点:
1.由于把某一个单元格当做了多个单元格来看到, 所以就会多出一些单元格, 所以需要删掉一些单元格才能正常显示
2.一定要记住单元格合并永远都是向后或者向下合并, 而不能向前或者向上合并
- 垂直方向上的单元格合并
可以给td标签设置一个rowspan属性, 来指定把某一个单元格当做多个单元格来看待(垂直方向)
例如:
<td rowspan="2"></td>
含义: 把当前单元格当做两个单元格来看待
补充:WebStorm使用技巧
快速移动选中的代码, 上下移动
往上移动 Ctrl + shift + ↑(方向键上)
往下移动 Ctrl + shift + ↓(方向键下)
快速合并和展开代码(合并和展开的是某一个标签)
合并: Ctrl + -
展开: Ctrl + +
快速合并和展开代码(合并和展开选中的所有标签)
合并: Ctrl + shift + -
展开: Ctrl + shift + +
快速新启一行
shift + enter