《Web前端开发精品课 HTML与CSS进阶教程》——2.4 表格语义化

简介:

本节书摘来自异步社区《Web前端开发精品课 HTML与CSS进阶教程》一书中的第2章,第2.4节,作者: 莫振杰 更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.4 表格语义化

不少初学者看了《Web前端开发精品课HTML和CSS基础教程》(本书的姊妹篇)跑来问:“不是说表格布局已经被抛弃了吗?为什么还要在书里讲解表格呢?这不是多此一举吗?”其实不然,在实际开发中,我们不建议使用表格布局,应该使用浮动布局或者定位布局。虽然表格拿来做布局的方式被抛弃了,但是这并没有说明表格就一无是处了。

问大家一个问题:如图2-5所示的这种表格数据的展示,应该怎么实现呢?不少得了“table恐惧症”的小伙伴可能会想到使用div来模拟表格。事实上,对于这种表格数据形式,最好的选择还是table。


<a href=https://yqfile.alicdn.com/00c03a61c1b35bd83a04ad960faac8ba155cc23b.png" >

在表格中,我们比较常用的标签是table、tr和td这3个。不过为了加强表格的语义化,W3C还增加了5个标签:th、caption、thead、tbody和tfoot。th表示“表头单元格”;caption表示“表格标题”。thead、tbody和tfoot这3个标签把表格从语义上分为三部分:表头、表身和表脚。有了这几个标签,表格语义更加良好,结构更加清晰。对于这5个标签,我们在本书的姊妹篇中已经做了详细的介绍,这里就不再赘述。表格标签如表2-1所示。


<a href=https://yqfile.alicdn.com/6183fd20c476682d35e5ed9f8dfd5d5a642e83ba.png" >

语法:

<table>
   <caption>表格标题</caption>
   <!--表头-->
   <thead>
     <tr>
       <th>表头单元格1</th>
       <th>表头单元格2</th>
     </tr>
   </thead>
   <!--表身-->
   <tbody>
     <tr>
       <td>标准单元格1</td>
       <td>标准单元格2</td>
     </tr>
     <tr>
       <td>标准单元格1</td>
       <td>标准单元格2</td>
     </tr>
   </tbody>
   <!--表脚-->
   <tfoot>
     <tr>
       <td>标准单元格1</td>
       <td>标准单元格2</td>
     </tr>
   </tfoot>
</table>

说明:

thead、tbody和tfoot这三个标签也是表格中非常重要的标签,它从语义上区分了表头、表身和表脚。很多人容易忽略这三个标签。

上述语法显示效果如图2-6所示。


56860357ce44bc41d56daec632837e072b1d14c8

举例:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title></title>
   <style type="text/css">
     table, thead, tbody, tfoot, th, td 
     {
       border: 1px dashed gray;
     }
   </style>
</head>
<body>
   <table>
     <caption>考试成绩表</caption>
     <thead>
       <tr>
         <th>姓名</th>
         <th>语文</th>
         <th>英语</th>
         <th>数学</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>小明</td>
         <td>80</td>
         <td>80</td>
         <td>80</td>
       </tr>
       <tr>
         <td>小红</td>
         <td>90</td>
         <td>90</td>
         <td>90</td>
       </tr>
       <tr>
         <td>小杰</td>
         <td>100</td>
         <td>100</td>
         <td>100</td>
       </tr>
     </tbody>
     <tfoot>
       <tr>
         <td>平均</td>
         <td>90</td>
         <td>90</td>
         <td>90</td>
       </tr>
     </tfoot>
   </table>
</body>
</html>

在浏览器预览效果如图2-7所示。


96a306b994198cca2c1f725a53361caa7ffdb210

分析:
对于thead、tbody和tfoot这3个标签,不一定能够全部都用得上,例如tfoot就很少用。一般情况下,我们都是根据实际需要来使用这3个标签的。

相关文章
|
15天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
16天前
|
编解码 前端开发 JavaScript
Web 前端开发中的最佳实践
本文将介绍 Web 前端开发中的最佳实践,包括代码组织、性能优化、响应式设计和用户体验等方面。通过遵循这些实践,开发人员可以提高开发效率,优化用户体验,并减少潜在的问题和错误。
|
20天前
|
缓存 前端开发
前端代码整洁与规范之CSS篇
【4月更文挑战第2天】 前端代码整洁与规范之CSS篇
39 4
|
1月前
|
安全
网易web安全工程师进阶版课程
《Web安全工程师(进阶)》是由“ i春秋学院联合网易安全部”出品,资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战,帮助学员纵向提升技能,横向拓宽视野,牢靠掌握Web安全工程师核心知识,成为安全领域高精尖人才。 ## 学习地址
23 6
网易web安全工程师进阶版课程
|
1月前
|
前端开发 JavaScript 微服务
jeecg-boot前端实现表格插槽、定制化修改
jeecg-boot前端实现表格插槽、定制化修改
43 0
|
9天前
|
移动开发 前端开发 JavaScript
CSS选择器 前端开发入门笔记(十)
CSS选择器 前端开发入门笔记(十)
19 1
|
9天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
9天前
|
前端开发 JavaScript vr&ar
前端新技术探索:WebAssembly、Web Components与WebVR/AR
【4月更文挑战第12天】WebAssembly、Web Components和WebVR/AR正重塑Web应用的未来。WebAssembly允许C/C++等语言在Web上高效运行,提供接近原生的性能,如游戏引擎。Web Components通过Custom Elements和Shadow DOM实现可复用的自定义UI组件,提升模块化开发。WebVR/AR(现WebXR)则让VR/AR体验无需额外应用,直接在浏览器中实现。掌握这些技术对前端开发者至关重要。
15 3
|
12天前
|
前端开发 JavaScript 搜索推荐
CSS框架是前端开发中不可或缺的工具
【4月更文挑战第12天】CSS框架是前端开发中不可或缺的工具
18 2
|
22天前
|
人工智能 前端开发 JavaScript
【前端设计】HTML+CSS+JavaScript基本特性
【前端设计】HTML+CSS+JavaScript基本特性