HTML 表格

除了图像、多媒体这种丰富的交互效果之外,网页中还经常会用到通讯录、统计报表这种格式化的交互效果,这时候就用到了表格元素。

1. 创建一个简单的表格

网页中定义表格使用 table 标签,它是一个闭合标签,所有内容都放在 table 的起始标签和结束标签内。在表格中定义一行数据使用 tr 标签,表格的单元格内容放在 tr 标签内,单元格又分为表头 th 和表格单元格 td。基本表格结构如下。

实例演示

预览 复制

复制成功!

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

代码解释:以上是 thinkPHP 手册中的关于助手函数的表格示例,其中包含了表头 thead 、内容 tbody、行元素 tr、表头单元格 th、表格单元格 td。

2. 相关的标签和属性介绍

2.1 table 标签

table 用于声明一个表格,它本身不显示任何内容,例如:

实例演示

预览 复制

复制成功!

运行案例 点击 "运行案例" 可查看在线运行效果

代码解释:上述定义了一个只有边框而没有内容的表格,由于没有任何内容,它在网页中只显示一个像素点。

2.1.1 bgcolor 属性

这个属性可以应用于表格的任意元素,用来定义元素的背景颜色,其内容可以用 rgb 值表示。实际项目中通常用于在表头设置背景,为了方便和单元格区分开来,例如:

实例演示

预览 复制

复制成功!

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

代码解释:上述代码将表头单元格设置为灰色背景。HTML 中颜色值可以使用 3 种表示方式:

RGB;

16 进制;

英文代码(部分颜色可用)

例如:

实例演示

预览 复制

复制成功!

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

注意,在实际项目中,这个属性建议使用 css 的方式替代。

2.1.2 align 属性

定义表格元素的对齐方式,一般建议使用 css 替代,可选项有 left、center、right,例如:

实例演示

预览 复制

复制成功!

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

代码解释:上述代码中,将左边列设置为居中对齐。表格中的表头 th 元素默认是居中对齐,而单元格元素默认是靠左对齐(跟浏览器相关),所以实际项目中一般会将类别列设置为居中对齐,实际项目建议使用 css 的方式替代。

2.1.3 border 属性

表格默认是没有边框的,通过这个属性可以给表格设置边框,但是一般情况下使用 css 设置边框样式比较常见。

实例演示

预览 复制

复制成功!

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

代码解释:如果给 table 元素设置 border 属性,表格内部的单元格都会继承这个属性,但是如果 border 设置值超过 1 的话,单元格的边框还是只有 1,但是表格外部边框会显示 border 值对应的宽度;如果 border 设置 0 的话表示隐藏边框。

2.1.4 cellpadding 属性

通过这个属性可以设置单元格内容到边沿之间的空隙,这个值设置的越大则单元格越大,不设置的话默认是 2 个像素。如下,我们设置一个较大空隙的单元格:

实例演示

预览 复制

复制成功!

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

注意: 请勿将该属性与下面的 cellspacing 相混淆。

2.1.5 cellspacing 属性

与上个属性不同的是,cellspacing 指的是单元格与表格外边框之间的空隙,如果不设置的话默认是 2 个像素,设置为 0 表示没有空隙,例如:

实例演示

预览 复制

复制成功!

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

2.1.6 frame 属性

定义外侧哪个边框是可见的,实际项目中很少用到。

2.1.7 rules 属性

定义内侧边框哪个是可见的,实际项目中很少用到。

2.1.8 summary 属性

定义表格摘要。这个属性对表格的外观没有任何作用,相当于对表格做了一个备注,可能对搜索引擎有帮助,例如:

实例演示

预览 复制

复制成功!

month Savings
January $100

运行案例 点击 "运行案例" 可查看在线运行效果

2.2 th 标签

th 用于定义表头类型单元格,他和内容单元格的区别主要在于样式上,表头默认显示粗体居中的文本,例如:

实例演示

预览 复制

复制成功!

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

2.2.1 colspan 属性

colspan 设置单元格横跨的列数,这个属性相当于 Word 表格的合并单元格,例如:

实例演示

预览 复制

复制成功!

thinkPHP助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

注意: 如果 colspan 的值超过当前单元格列数的话,默认只能横跨最大列数。

2.2.2 rowspan 属性

与上述属性类似,这个是用于横跨单元行,例如:

实例演示

预览 复制

复制成功!

助手函数描述

函数类别abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

2.2.3 valign 属性

这个属性用于设置单元格内的内容在垂直方向的对齐方式,目前支持上对齐、下对齐、居中对齐、文字基线对齐。

2.3 tr 标签

tr 用于定义表格中的行,行内可以包含表头单元格 th 或者数据单元格 td, tr 标签表示一行,当中的内容可以是 th 或者 td,tr 标签支持所有的浏览器。

2.4 td 标签

表格中有两种类型的单元格,一种是上边介绍的表头单元格 th,一种是内容单元格 td。和 th 不同的是 td 的内容默认显示正常字体,使用左对齐方式。td 支持的属性基本上和 th 一致。td 必须包含在 tr 标签中才能生效。

2.5 非必须标签

除了表格、行、单元格之外,表格还有一些其他的标签可使用。这些标签是非必须的,但是可以增强表格的内容丰富度和视觉效果。

2.5.1 thead tbody tfoot 标签

thead 用于定义表格的表头,同样命名为表头,它和 th 表头单元格有本质的区别。

thead 实质上是用于对表格的内容进行分组,用于告诉开发者或者搜索引擎表格的哪部分是头,哪部分是内容,哪部分是尾部。所以说 thead 需要和 tbody 、tfoot 结合使用才有效果,正常情况下定义 thead 不会影响到表格的样式和布局,除非你强制定义 thead 的 css 样式。

目前主流的浏览器大都支持 thead、tbody、tfoot 标签,例如:

实例演示

预览 复制

复制成功!

TitleIDCountryPriceDownload

Tom1213456Germany$3.12DownloadTotal4 books

运行案例 点击 "运行案例" 可查看在线运行效果

2.5.2 col 和 colgroup 标签

col 标签用来为表格中的列统一设置属性值,使用它主要用来节省代码量。它是一个单标签,无需结束标签,colgroup 标签是 col 的升级版,不同于 col 的是 colgroup 主要以组合的方式对列设置属性样式,而且 col 可以嵌入到 colgroup 内部进行细化的设置。

实例演示

预览 复制

复制成功!

title title title
css HTML JavaScript

运行案例 点击 "运行案例" 可查看在线运行效果

例如以上代码使用 col 对列进行居中设置,由于 colgroup 和 col 这两个标签存在严重的浏览器兼容问题,如上图所示,在 Chrome、FireFox、Safari和 ie8+ 等浏览器中不再支持 COL 及 COLGROUP 元素的部分属性,所以建议最好不要使用。

2.5.3 caption 标签

caption 用于定义表格的标题。每个表格只能声明一个标题,默认显示在表格的正上方,仅仅起到一个展示的作用,实际上跟 table 关联不大,完全可以用一个文本类型的标签元素替代:

实例演示

预览 复制

复制成功!

助手函数描述

abort中断执行并发送HTTP状态码action调用控制器类的操作app快速获取容器中的实例 支持依赖注入

运行案例 点击 "运行案例" 可查看在线运行效果

上述代码展示效果

3. 表格插件

实际项目开发中并非仅仅是单纯的展示一个表格,有可能需要动态的插入单元格数据、动态的删除行或者列、数据分页、异步加载、或者是动态的修改表格的内容等等的操作,以上这些操作需要通过 JavaScript 去操作进行。项目开发中崇尚对高度相同操作的函数进行封装打包,这也是面向对象的精髓(虽然 JavaScript 不是面向对象语言)。我们可以手动封装一个对 table 表格进行操作的类,也可以使用现成的表格插件,现在介绍一个表格插件 layui-table:

实例演示

预览 复制

复制成功!

var table = layui.table;

table.render({//渲染表格

elem: '#demo'//表格容器的ID

,height: 312//生成的表格的高度

,url: '/demo/table/user/' //数据接口

,page: true //开启分页

,cols: [[ //表头设置

{field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}

,{field: 'username', title: '用户名', width:80}

,{field: 'sex', title: '性别', width:80, sort: true}

,{field: 'city', title: '城市', width:80}

,{field: 'sign', title: '签名', width: 177}

,{field: 'experience', title: '积分', width: 80, sort: true}

,{field: 'score', title: '评分', width: 80, sort: true}

,{field: 'classify', title: '职业', width: 80}

,{field: 'wealth', title: '财富', width: 135, sort: true}

]]

});

});

运行案例 点击 "运行案例" 可查看在线运行效果

4. 小结

本章介绍了 HTML 中用途较多的表格元素,表格的大部分属性跟 Word 中的表格类似,除了 table 、td 、th、tr 这几个标签之外,其他的标签大都是用于分组或者设置属性,不参与视觉样式的表现,而且在HTML5 中 css 的功能已经非常强大和完善了,所以几乎无需使用 HTML 中的样式设置方式,总的来说基本上只需要掌握上述的几种标签即可。

在线 html 表格控件,HTML 表格相关推荐

  1. python表格控件_python表格控件

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! pyqt5表格控件qtableview简介在通常情况下,一个应用需要和一批数据进 ...

  2. SpreadJS 纯前端表格控件应用案例:在线问卷系统

    由某软件公司研发的在线问卷系统,是一款通过收集网络信息,帮助问卷设计者和数据分析师们分析消费者线上行为特征和态度的系统平台,使用该系统可批量而精确地抽取目标网页中的任何数据及信息,快速实现实时的信息获 ...

  3. 企业如何借助三方表格控件,实现多人在线协同编辑?

    SpreadJS 是一款基于 HTML5 的纯前端电子表格控件,兼容 450 种以上的 Excel 公式,凭借其 "高性能.跨平台.与 Excel 高度兼容"的产品特性,备受以华为 ...

  4. SpreadJS 类Excel表格控件 - V12 新特性详解

    我们很高兴的宣布:纯前端类Excel表格控件 - SpreadJS 正式推出了 V12 新版本,此次的新版本中包含了诸多重量级的功能和来自客户的新需求,如对形状和富文本的支持,也有新增的图表类型,还有 ...

  5. 纯前端表格控件SpreadJS V12.1 隆重登场,专注易用性,提升用户体验

    ​ 一款优秀的开发工具,在更新迭代中,除了要满足不同场景的业务需求,也需不断优化已有功能,尤其是细节方面,要能为用户带来使用体验和开发效率的提升. 作为一款备受业界专家和开发者认可的纯前端类Excel ...

  6. js固定表格行列_纯前端表格控件SpreadJS V14.0发布:组件化编辑器+数据透视表

    SpreadJS 是一款基于 HTML5 的纯前端表格控件,兼容 450 种以上的 Excel 公式,具备"高性能.跨平台.与 Excel 高度兼容"的产品特性,可为用户提供高度类 ...

  7. 葡萄城 SpreadJS 表格控件 V11 产品白皮书

    一. 关于葡萄城 葡萄城成立于 1980 年,是全球领先的集开发工具.商业智能解决方案.管理系统设计工具于 一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务. 葡萄城是微软公 ...

  8. SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)...

    做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...

  9. SpreadJS 纯前端表格控件应用案例:金融业数据智能分析平台

    由北京海创研发的金融业数据智能分析平台,通过嵌入 SpreadJS,实现了基于Web的数据采集.自助式报表设计与浏览.灵活查询.自主分析和数据预测等功能,简洁.易用,有效解决了用户数据填报.查询和分析 ...

最新文章

  1. 前期优达无人驾驶对课程评价
  2. 分布式事务中间件 Fescar - 全局写排它锁解读
  3. wind2008中如何显示隐藏文件/夹
  4. C++中如何去掉std::string对象的首尾空格
  5. 简明Python教程学习笔记_6_面向对象编程
  6. 从零开始编写深度学习库(五)Eigen Tensor学习笔记2.0
  7. linux安装之后缺少命令,CentOS7安装成功后缺少命令的解决办法
  8. more 分页显示文件内容
  9. 第四章OFDM(1)
  10. 读书笔记 - 《盖洛普优势识别器2.0》
  11. 【转】MPLAB使用PICKit3.5烧录程序说明
  12. PHP显示了验证码但不能登陆,thinkphp5 登陆后台验证码无法显示
  13. 2022年的国外广告联盟,合格的EMU者有你吗?
  14. 小程序画布电子签名(实例)
  15. 点网络计算机怎么出现蓝屏,电脑总是出现蓝屏该怎么解决
  16. PHP钓鱼教程,记录一次wifi钓鱼的调试 ——新手
  17. 求几道C++题,不用排版,代码尽量简单,方便理解
  18. Datawhale组队学习周报(第027周)
  19. 管理铁律:高层唱白脸,中层扮黑脸
  20. 盘点5个最佳GIS软件

热门文章

  1. 备份 Toyota 汽车紧急救援联系方式
  2. 2016 总结:一个应届生的互联网名企逐梦记
  3. 前端搬运工 零基础的前端开发初学者应如何系统地学习 前端掌握技能的学习路线
  4. 继续解决adsl猫的驱动问题!
  5. maven整合SSM搭建项目
  6. UVA508摩斯密码题目详解
  7. Java Process waitFor()方法与示例
  8. siri接入易微联_想用Siri控制智能家居?先接入HomeKit!
  9. C#三大特性的理解和使用
  10. 接入百度商桥遇到的问题