《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个标签的。

相关文章
|
7月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
964 2
|
7月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
380 1
|
7月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
498 0
|
7月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
盒模型 盒模型: 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。 这些盒子们都要按照可见板式模型在页面上排布。 可见的板式模型主要由三个属性控制:position 属性、display 属性和 float属性。 position属性控制页面上元素间的位置关系。 display属性控制元素是堆叠、并排或者不在页面上显示。 float属性提供控制的方法,以便于把元素组成成多栏布局。 盒模型讲解: 在默认的情况下,每个盒子的边框是不可见的,背景也是透明的。 所以我们 不能直接的看到页面中的盒
1150 1
|
9月前
|
JavaScript 前端开发 Java
前端框架选择之争:jQuery与Vue在现代Web开发中的真实地位-优雅草卓伊凡
前端框架选择之争:jQuery与Vue在现代Web开发中的真实地位-优雅草卓伊凡
790 72
前端框架选择之争:jQuery与Vue在现代Web开发中的真实地位-优雅草卓伊凡
|
7月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
507 3
|
7月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
671 0
|
7月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
264 1
|
前端开发 JavaScript 开发者
前端 CSS 优化:提升页面美学与性能
前端CSS优化旨在提升页面美学与性能。通过简化选择器(如避免复杂后代选择器、减少通用选择器使用)、合并样式表、合理组织媒体查询,可减少浏览器计算成本和HTTP请求。利用硬件加速和优化动画帧率,确保动画流畅。定期清理冗余代码并使用缩写属性,进一步精简代码。这些策略不仅加快页面加载和渲染速度,还提升了视觉效果,为用户带来更优质的浏览体验。
|
11月前
|
移动开发 前端开发 JavaScript
前端web创建命令
本项目使用 Vite 搭建 Vue + TypeScript 开发环境,并基于 HTML5 Boilerplate 提供基础模板,快速启动现代前端开发。
220 2