HTML系列之表格标签_html table caption-程序员宅基地

技术标签: 前端  HTML  html  


表格存在即是合理的。 表格的现在还是较为常用的一种标签,但不是用来布局,常见显示、展示表格式数据。因为它可以让数据显示的非常的规整,可读性非常好。

1、table 标签

table 标签表示表格数据-------即通过二维数据表表示的信息。

1.1、基本语法格式

table 里面包含的二级元素按如下格式:

  • 一个可选的 <caption> 元素
  • 零个或多个的 <colgroup> 元素
  • 一个可选的 <thead> 元素 下列任意一个:
    • 零个或多个 <tbody>
    • 零个或多个 <tr>
  • 一个可选的 <tfoot> 元素

具体使用情况见如下代码:

  <table>
    <caption>Awesome caption</caption>
    <colgroup>
      <col span="2" class="batman">
      <col span="2" class="flash">
  </colgroup>
    <thead>
      <tr>
        <th>Header content 1</th>
        <th>Header content 2</th>
        <th>Header content 3</th>
        <th>Header content 4</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Body content 1</td>
        <td>Body content 2</td>
        <td>Body content 3</td>
        <td>Body content 4</td>
      </tr>
    </tbody>
    <tfoot>
      <tr>
        <td>Footer content 1</td>
        <td>Footer content 2</td>
        <td>Footer content 3</td>
        <td>Footer content 4</td>
      </tr>
    </tfoot>
  </table>

1.2、常见的属性

表格标签 table 支持全局属性。

下列的 border、cellspacing、cellpadding、width、height、align、bgcolor、frame、rules、summary 已经废弃,用CSS来代替。

1.3、总结

  1. table 开始标签和结束标签不能省略;
  2. 表格中由行中的单元格组成;
  3. 表格中没有列元素,列的个数取决于行的单元格个数;

2、表格标题 caption

HTML <caption> 元素 (or HTML 表格标题元素) 展示一个表格的标题, 它常常作为 <table>第一个子元素出现,同时显示在表格内容的最前面,但是,它同样可以被CSS样式化,所以,它同样可以出现在任何一个一个相对于表格的做任意位置。

2.1、基本语法格式

见1.1

2.2、常见的属性

caption 标签支持全局属性。

2.3、总结

  1. caption 开始标签和结束标签都不能省略;
  2. 当 table 标签是 caption 的父元素,caption 是 figure 元素的唯一后代的时候,使用 figcaption 元素替代 caption;
  3. caption 元素定义表格标题,通常这个标题会被居中且显示于表格之上;
  4. caption标签必须紧随table标签之后;

3、表格列组 colgroup

表格列组(Column Group <colgroup>)标签用来定义表中的一组列表。

3.1、基本语法格式

见1.1

3.2、常见的属性

colgroup 标签支持全局属性,除此之外,还支持如下属性:

3.2.1、bgcolor

这个属性用于定义列组中的每一个列成员的背景颜色。但不要使用这个并未被标准化的属性,它只是在 IE 的某些版本中生效

3.2.2、span

这个属性包含一个正整数,表示 colgrouup 定义的连续列组的个数,如果没有定义的话,默认值为1。

3.3、总结

  1. 如果元素的第一个子元素存在且是一个 <col> 元素,而且在它之前没有省略了结束标签的 <colgroup> 元素,元素的开始标签可以被省略;
  2. 如果之后没有紧跟一个空格或注释,元素的结束标签可以被省略;
  3. 如果 colgroup 有一个或多个子元素 col 的话,是不能使用 span 属性的;

3.4、col 子元素

col 元素定义表格中的列,并用于定义所有公共单元格上的公共语义。它通常位于 <colgroup> 元素内。

3.4.1、基本语法格式

见1.1

3.4.2、常见的属性

col 标签支持全局属性,除此之外,还支持如下属性:

3.4.2.1、bgcolor

这个属性用于定义列组中的每一个列成员的背景颜色。但不要使用这个并未被标准化的属性,它只是在 IE 的某些版本中生效

3.4.2.2、span

这个属性包含一个正整数,表示 colgrouup 定义的连续列组的个数,如果没有定义的话,默认值为1。

3.4.3、总结

  1. 因为它是一个单标签(空元素),开始标签是必须的,但是禁止使用结束标签;

4、题头 thead

<thead> 元素定义了一组定义表格的列头的行。

4.1、基本语法格式

见1.1

4.2、常见的属性

thead 标签支持全局属性,除此之外,还支持如下属性:

4.2.1、bgcolor

这个属性用于定义每个单元格的背景颜色。但不要使用这个并未被标准化的属性,它只是在 IE 的某些版本中生效

4.3、总结

  1. 开始标签是必须的,如果 thead 后面直接跟着 tbody 或 tfoot,结束标签可以省略;
  2. 子元素为零或多个 tr 标签;

5、正文 tbody

tbody 标签封装了一组行,表明它们组成了表的主体。

5.1、基本语法格式

见1.1

5.2、常见的属性

tbody 标签支持全局属性。

5.3、总结

  1. 子元素为零或多个 tr 标签;
  2. tbody 不是 table 必须的子元素,如果 table 有一个 tr 作为子元素,则 tbody 必须不存在;
  3. 如果 table 包含一个 thead 块,那么 tbody 块必须在它之后;
  4. 如果使用了 tbody,你不能有是 table 直接子元素,而不包含在 tbody 中的表行元素 tr,所有的非页眉和非页脚都必须在 tbody 中;
  5. 每个 table 可以使用多个 tbody,只要它们是连续的。这允许您将达标中的行划分为几个部分,如果需要,每个部分都可以单独格式化;
  6. tbody 元素应该与 thead 和 tfoot 元素结合起来使用;

6、表行 tr

<tr> 元素定义表格中的行。同一行可同时出现 <td><th> 元素。

6.1、基本语法格式

见1.1

6.2、常见的属性

tr 标签支持全局属性。

6.3、总结

  1. 子元素为0或者多个 td 或 th 标签,或者他们的混合;
  2. 开始标签是必须的,如果 tr 后面紧跟着一个 tr,或者父元素(thead、tbody、tfoot)没有任何内容,则结束标签可以省略;

6.4、th

th 标签定义表格内的表头单元格。这部分特征是由 scope 和header 属性准确定义的。

6.4.1、基本语法格式

见1.1

6.4.2、常见的属性

th 标签支持全局属性,除此之外,还支持如下属性:

6.4.2.1、bgcolor

这个属性定义了每列中每单元格的背景色。不要使用这个属性,它不是标准属性且仅在某些版本的 Microsoft Internet Explorer 支持。

6.4.2.2、colspan

这个属性包含一个正整数表示了每单元格中扩展列的数量。默认值为1 。超过1000的值被视作1000

6.4.2.3、headers

这个属性包含了一个空间分隔的字符串的列表,每个与其他<th> 元素相关联的 id 属性一一对应。

6.4.2.4、rowspan

这个属性包含一个正整数,表示了每单元格中扩展列的数量。默认值为1。如果该值被设置为 0,这个单元格就被扩展为(<thead><tbody><tfoot>)中表格部分的最后一个元素。比65534大的值被视作65534

6.4.2.5、scope

这个枚举属性定义了表头元素 (在 <th> 中定义) 关联的单元格。它可能有以下值:

6.4.2.5.1、row

表头关联一行中所有的单元格。

6.4.2.5.2、col

表头关联一列中所有的单元格。

6.4.2.5.3、rowgroup

表头属于一个行组并与其中所有单元格相关联。这些单元格可以被放在表头的左侧或右侧,取决于 <table> 元素中 dir 属性的值 。

6.4.2.5.4、colgroup

表头属于一个列组并与其中所有单元格相关联。

6.4.2.5.5、auto

6.4.3、总结

  1. 开始标签是必需要的,而结束标签有时可以省略:当其后是 <th><td> ,或者其后没有其他数据内容在其父元素内;

6.5、td

td 标签定义了一组包含数组的表格单元格。

6.5.1、基本语法格式

见1.1

6.5.2、常见的属性

th 标签支持全局属性,除此之外,还支持如下属性:

6.5.2.1、bgcolor

这个属性定义了每列中每单元格的背景色。不要使用这个属性,它不是标准属性且仅在某些版本的 Microsoft Internet Explorer 支持。

6.5.2.2、colspan

这个属性包含一个正整数,表示了每单元格中扩展列的数量。默认值为1 。超过1000的值被视作1

6.5.2.3、headers

这个属性包含了一个空间分隔的字符串的列表,每个与其他<th> 元素相关联的 id 属性一一对应。

6.5.2.4、rowspan

这个属性包含一个正整数,表示了每单元格中扩展列的数量。默认值为1。如果该值被设置为 0,这个单元格就被扩展为(<thead><tbody><tfoot>)中表格部分的最后一个元素。比65534大的值被视作65534

6.5.3、总结

  1. 开始标签是必需要的,而结束标签有时可以省略:当其后是 <th><td> ,或者其后没有其他数据内容在其父元素内;

6.6、th、td 应用场景之合并单元格

合并单元格是我们比较常用的一个操作,但是不会合并的很复杂。

6.6.1、合并单元格2种方式

  • 跨行合并:rowspan=“合并单元格的个数”;
  • 跨列合并:colspan=“合并单元格的个数”;

在这里插入图片描述

6.6.2、合并单元格的顺序

合并单元格的顺序,我们按照先上后下,先左后右的顺序,跟我们以前学习汉字的书写顺序完全一致。

6.6.3、合并单元格的三步曲

  1. 先确定是跨行还是跨列合并;
  2. 根据先上后下,先左右后的原则找到目标单元格,然后写上合并方式,还有要合并的单元格数量;
  3. 删除多余的单元格;

7、脚注 tfoot

<tfoot> 定义了一组表格中各列的汇总行。

7.1、基本语法格式

见1.1

7.2、常见的属性

tfoot 标签支持全局属性,除此之外,还支持如下属性:

7.2.1、bgcolor

此属性定义了列内单元格的背景色。 请勿使用此属性,因为这并非标准,且只有某些特定版本的 Microsoft Internet Explorer(IE浏览器)支持。

7.3、总结

  1. 子元素为零或多个 tr 标签;
  2. 开始标签是必需的。在父元素 <table> 没有后续内容的情况下,结束标签可被省略。
  3. <tfoot> 必须出现在一个或多个 <caption><colgroup><thead><tbody>,或 <tr> 元素之后。 注意这是自 HTML5 起有的要求。HTML 4 <tfoot> 元素不能放在任何 <tbody><tr> 元素之后。注意,这与上述HTML5的标准相冲突。

8、浏览器兼容性

在这里插入图片描述

写在最后

如果你感觉文章不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_62277266/article/details/120942288

智能推荐

ESP8266和ESP32区别,以及优缺点分析!_esp8266为什么不建议使用-程序员宅基地

文章浏览阅读3.4k次,点赞3次,收藏4次。高速主频240MHZ,对比STM32F1的72MHZ和STM32F4的168MHZ,速度快很多,而且价格上比起一直在涨价的STM系低出非常多;总的来说,STM32在国内的使用程度和受众程度是远大于ESP32的,毕竟STM32已经占据主流市场很久了,学习的资料比起ESP32起来会多,再加上一些开源问题,使用32的人群还是占据多数。2016年,乐鑫推出了ESP32,它是ESP8266的升级版本,速度更快还带有蓝牙4.2和蓝牙低功耗,价格在20元左右,在这个价格下几乎找不到对手可以“一战”。_esp8266为什么不建议使用

linux 分区简介,Linux硬盘分区知识简介-程序员宅基地

文章浏览阅读990次。Linux系统可以挂载多个不同接口类型的磁盘(disk),每一个磁盘又可以分成若干个分区(Partition),每个分区又可以拥有自己的文件系统类型(FileSystem)。Linux对于磁盘和分区又自己的一套标记方法。硬盘和分区的区分第一个SCSI(Small Computer System Interface)磁盘记为/dev/sda,第二个SCSI磁盘记为/dev/sdb;第一个SATA磁盘..._linux引导分区的标记可为

unity 网络游戏架构设计(第12课:网络游戏案例讲解)之美_网络游戏消息结构设计案例-程序员宅基地

文章浏览阅读656次。第12课:网络游戏案例讲解上章给读者介绍关于服务器之间的通信,本章通过案例给读者介绍如何将框架跟 Photon 结合起来,实现一个网络通信的框架设计。UI 架构设计模块已经介绍过,我们的 Demo 使用的 UI 是 UGUI,简单的用几个 Button 代替 Sprite,它们的原理是一样的。我们先创建一个 UI,如下图所示:这个 UI 主要有三个关键按钮,分别是 Create Roo..._网络游戏消息结构设计案例

Android-Gradle详解_grade编译运行安卓-程序员宅基地

文章浏览阅读548次。Android 构建系统非常灵活,可让你在不修改应用核心源代码文件的情况下执行自定义构建配置。本部分将介绍 Android 构建系统的工作原理,以及它如何帮助你对多个构建配置进行自定义和自动化处理。构建过程涉及许多将你的项目转换为 Android 应用程序包 (APK) 的工具和过程。构建过程非常灵活,因此了解一些幕后发生的事情很有用。下图为Android 应用模块的构建过程。Android 应用模块的构建过程(如上图所示)遵循以下一般步骤:1、编译器将你的源代码转换为 DEX(Dalv_grade编译运行安卓

linux网络配置后面加一条wheel,linux安全配置/etc/sudoers&wheel组-程序员宅基地

文章浏览阅读800次。/etc/sudoers 控制哪些用户能在哪些主机上以哪些用户的身份执行哪些命令。只有此文件权限为440时才能用户才能使用sudo命令,只有root用户才能使用visudo命令修改此文件。当然也可以先添加文件写权限,然后修改,再把文件权限改回来。此文件的一些配置规则定义别名:User_Alias UserName = user1,user2,kongoveHost_Alias HostName =..._%wheel all=(all) all

NO.15——使用Appium自动化测试爬取微信朋友圈数据_appium监测微信图片-程序员宅基地

文章浏览阅读9.7k次,点赞5次,收藏27次。 一、解析过程本人使用锤子手机做测试,型号是YQ601,首先打开开发者模式确保手机能与mac相连,打开Appium客户端,配置参数如图可以理解为Appuim继承自web端的selenium,同样可以执行一些自动化操作。Appium自带了一个XPATH选择器,给用户提供了选择结果,如图这个选择器给出的结果太繁琐,所以可以改成通过查找ID的方式来构造爬虫程序。但是这里要注意,估计微信提升了自己..._appium监测微信图片

随便推点

交叉编译工具 aarch64-linux-gnu-gcc 的介绍与安装-程序员宅基地

文章浏览阅读8w次,点赞20次,收藏160次。aarch64-linux-gnu-gcc 是由 Linaro 公司基于 GCC 推出的的 ARM 交叉编译工具_aarch64-linux-gnu-gcc

数码管扫描显示verilog_如何开始Xilinx FPGA开发之旅 第二课 EGO1数码管与键盘-程序员宅基地

文章浏览阅读1.4k次。庚子年,我们的EGO1在疫情当中作为口袋实验平台成为了众多高校的复课利器。其中的成功案例更是得到了新华社网媒与CCTV教育频道的报道。借此东风,为了让更多的老师与学生熟悉了解Xilinx,更好的入门学习FPGA知识,我们的师资培训直播已开设EGO1专题直播,欢迎新老朋友跟踪关注。第二课---- EGO1数码管与键盘本周的直播我们将介绍EGO1的外设使用案例,介绍数码管扫描的原理和PS/2..._fpgaego1 键盘

python re库安装_python 库安装方法及常用库-程序员宅基地

文章浏览阅读3.6k次。python库安装方法:方法一:setpu.py1.下载库压缩包,解压,记录下路径:*:/**/……/2.运行cmd,切换到*:/**/……/目录下3.运行setup.py build4.然后输入python,进入python模块,验证是否安装成功方法二:1.Win + R 打开运行窗口,输入cmd回车2.找到pip安装路径——x:\Python xx\Scripts3. 在命令行中切换至该目录c..._rep库怎么安装

android listview fling,ListView优化: Fling(松开滑动) 过程中不加载数据-程序员宅基地

文章浏览阅读189次。1.Adapter增加滑动结束以后刷新方法//定义当前listview是否在滑动状态private boolean isScrolling = false;public void setScrolling(boolean scrolling) {this.isScrolling = scrolling;}public void refreshOnScrollEnd(AdapterView list..._android listview fling

微信公众号JSAPI自费支付总结_微信自动续费api-程序员宅基地

文章浏览阅读535次。文章目录前言一、准备操作1.公众号ID2.商户号3.商户号密钥4.域名、服务器二、步入正题1. 支付流程2. 初始化订单数据2.读入数据总结前言本编章主要是通过运行一个自费测试demo使其能够快速了解微信自费支付的实现流程,也是个人实现微信自费demo之后的记录、总结官方文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1一、准备操作进行微信自费支付之前请先获得以下几项必要条件,公众号和商户号需要绑定名称_微信自动续费api

java byte 字节负数-程序员宅基地

文章浏览阅读2w次。由于通讯协议中长度使用byte字节来表示,但在java中长度超过127的时候会变成负数,所以需要保证得到的长度是正数byte b & 0xFFhttp://www.blogjava.net/orangelizq/archive/2008/07/20/216228.html在剖析该问题前请看如下代码public static String bytes2HexString(

推荐文章

热门文章

相关标签