玩转HTML5+跨平台开发[4] HTML表格标签

表格标签

  • 在过去表格标签用的非常非常的多, 绝大多数的网站都是使用表格标签来制作的, 也就是说表格标签是一个时代的代表
  • 作用:以表格形式将数据显示出来, 当数据量非常大的时候, 表格这种展现形式被认为是最为清晰的一种展现形式
  • 格式:
    • table定义表格
    • tr定义行
    • td定义单元格
<!--先定义一个表格, 然后通过tr告诉浏览器这个表格中一共有多少行, 然后再通过td告诉浏览器这一行中一共有多少个元素(一共有多少列)-->
<table>
<tr>
  <td></td>
  <td></td>
</tr>
<tr>
  <td></td>
  <td></td>
</tr>
</table>

image

表格中的属性

  • 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中设置的来对齐

     

  • 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仅仅用于说明语义

image

 

表格中的其它标签

  • 表单中有两种类型的单元格, 一种是标准单元格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>

image

表格的结构

  • 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

posted @ 2017-02-07 01:26  KnightKitt  阅读(383)  评论(0编辑  收藏  举报