Table 标签详解

<table> 在HTML 中定义了表格布局。说到 table 标签,我们可以想到的大致有以下几个元素:<tr><th><td><thead><tbody><tfoot>接下来,我们看看每个元素有什么用,使用后会有怎样的效果。

table 的基本使用

1.<table>

<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>table</title><style> table{ height:300px, width:300px } </style></head><body><table border="1" ><caption>table</caption></table></body></html>

https://upload-images.jianshu.io/upload_images/2790785-c5a18ab62849b0e4.png?imageMogr2/auto-orient/strip|imageView2/2/w/329/format/webp

有标题的 table

table 的属性如:border、width、height 等,建议写在 css 样式中。<caption> 元素可以设置表格的标题

2.<th>、<tr>和<td>

一个 HTML 表格包括 <table> 元素,一个或多个 <tr>、<th> 以及 <td> 元素。

  • <tr> 元素定义表格行
  • <th> 元素定义表头
  • <td> 元素定义表格单元
  • 表格由单元格与其内部的文本构成。
  • HTML 表格有两类单元格:表头单元 - 包含头部信息(由 th 元素创建)标准单元 - 包含数据(由 td 元素创建)
  • <th> 定义表格内的表头单元格,元素内部的文本通常会呈现为居中的粗体文本。<td> 定义 HTML 表格中的标准单元格,元素中的文本一般显示为正常字体且左对齐。

<table border="1" ><caption>table</caption><tr><th></th><th>姓名</th><th>年龄</th></tr><tr><th>女生</th><td>张莉</td><td>22</td></tr><tr><th>男生</th><td>杨洋</td><td>26</td></tr></table>

https://upload-images.jianshu.io/upload_images/2790785-a53186b017e89fbd.png?imageMogr2/auto-orient/strip|imageView2/2/w/162/format/webp

简单的 table

colspan 属性规定单元格可横跨的列数。rowspan 属性规定单元格可横跨的行数。

<table border="1"><caption>横跨两列的单元格</caption><tr><th>姓名</th><th colspan="2">电话</th></tr><tr><td>Bill Gates</td><td>555 77 854</td><td>555 77 855</td></tr></table><table border="1"><caption>横跨两行的单元格</caption><tr><th>姓名</th><td>Bill Gates</td></tr><tr><th rowspan="2">电话</th><td>555 77 854</td></tr><tr><td>555 77 855</td></tr></table>

https://upload-images.jianshu.io/upload_images/2790785-2b05c5cf7deafd7d.png?imageMogr2/auto-orient/strip|imageView2/2/w/323/format/webp

3.<thead>、<tbody> 以及 <tfoot>

<thead><tbody><tfoot> 把表格分成多个逻辑区域,以便之后可以用 CSS 更好的控制表现。

  • thead 元素用于对 HTML 表格中的表头内容进行分组
  • tbody 元素用于对 HTML 表格中的主体内容进行分组
  • tfoot 元素用于组合 HTML 表格中的页脚(脚注或表注)内容

<html><head><style type="text/css"> thead {color:green} tbody {color:blue;height:50px} tfoot {color:red} </style></head><body><table border="1"><thead><tr><th>Month</th><th>Savings</th></tr></thead><tfoot><tr><td>Sum</td><td>$180</td></tr></tfoot><tbody><tr><td>January</td><td>$100</td></tr><tr><td>February</td><td>$80</td></tr></tbody></table></body></html>

https://upload-images.jianshu.io/upload_images/2790785-a43d19980225dd26.png?imageMogr2/auto-orient/strip|imageView2/2/w/183/format/webp

thead、tfoot 以及 tbody 元素使您有能力对表格中的行进行分组。当您创建某个表格时,您也许希望拥有一个标题行,一些带有数据的行,以及位于底部的一个总计行。这种划分使浏览器有能力支持独立于表格标题和页脚的表格正文滚动。当长的表格被打印时,表格的表头和页脚可被打印在包含表格数据的每张页面上。** 注释 **:如果您使用 thead、tfoot 以及 tbody 元素,您就必须使用全部的元素。它们的出现次序是:thead、tfoot、tbody,这样浏览器就可以在收到所有数据前呈现页脚了。您必须在 table 元素内部使用这些标签。

以上就是 table 的基本用法,接下来让我们来完成关于 table 的练习作业吧!

练习作业

任务地址:https://bbs.excellence-girls.org/topic/62/任务1-html核心概念和常用标签-创建一个纯html的试卷页面-2周任务需求:

https://upload-images.jianshu.io/upload_images/2790785-18feeaec15c365c3.png?imageMogr2/auto-orient/strip|imageView2/2/w/247/format/webp

需求

我们先把该表格按下图分为三部分:

https://upload-images.jianshu.io/upload_images/2790785-2f62e9357a27b01d.png?imageMogr2/auto-orient/strip|imageView2/2/w/309/format/webp

这三部分则分别放在 thead、tfoot 以及 tbody 元素内。可以看出表格大致有五行四列,其中名称、小计跨行,而日期、总价跨列。粗体文字的单元格为表头单元,使用 <th>,其他的使用<td>。代码如下:

<!doctype html> <html lang="en"><head><meta charset="UTF-8"><title>table</title></head><body><table border="1"><caption>购物车</caption><thead><tr><th rowspan="2" >名称</th><th colspan="2" >2016-11-22</th><th rowspan="2" >小计</th></tr><tr><th>重量</th><th>单元</th></tr></thead><tfoot><tr><th colspan="3" >总价</th><td>27元</td></tr></tfoot><tbody><tr><th>苹果</th><td>3公斤</td><td>5元/公斤</td><td>15元</td></tr><tr><th>香蕉</th><td>2公斤</td><td>6元/公斤</td><td>12元</td></tr></tbody></table></body></html>

https://upload-images.jianshu.io/upload_images/2790785-502b93fcc220f68b.png?imageMogr2/auto-orient/strip|imageView2/2/w/223/format/webp

等等,这就完成了吗?看看需求,我们可以看到每个单元格看起来文本都是居中的,而上面说到 <td> 内的文本是默认居左的。我们尝试给 <td> 加上 css 样式,设置其高度和宽度,可以清楚的看到文本是居左的。

<style> td { height:30px; width:100px } </style>

https://upload-images.jianshu.io/upload_images/2790785-6c94a619a7fc8640.png?imageMogr2/auto-orient/strip|imageView2/2/w/388/format/webp

首先我们尝试的解决方式是让 <td> 内的文本居中。

<style> td{ height:30px; width:100px; text-align:center; } </style>

https://upload-images.jianshu.io/upload_images/2790785-b4b8a58f8846a531.png?imageMogr2/auto-orient/strip|imageView2/2/w/392/format/webp

可以看到文本居中了,但新的问题是需求中的单元格并不是宽度一致的,因此我们应该采用另一种方式:表格内边距。有两种方式可以做到:

  • css 中的 padding
  • cellpadding 属性,规定单元边沿与其内容之间的空白。

从实用角度出发,最好不要规定 cellpadding,而是使用 CSS 来添加内边距

`<style> th,td { padding:10px; } </style>

或者

<table border="1" cellpadding="10"></table>`

https://upload-images.jianshu.io/upload_images/2790785-9166aa52e46fa8ab.png?imageMogr2/auto-orient/strip|imageView2/2/w/291/format/webp

为单元格加了 padding 的 table

原文链接: https://www.jianshu.com/p/b7b35270d1fa

  • 19
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
HTML 表格是一种用于在网页上呈现数据的标准方式。表格由行和列组成,其中每个单元格都可以包含文本、图像或其他内容。在这里,我将向你介绍 HTML 表格的基础知识和一些常见的用法。 1. 创建表格 要创建 HTML 表格,你需要使用`<table>`标签。`<table>`标签定义了表格的开始和结束,而其内部则包含一个或多个`<tr>`标签,表示表格的行。每个`<tr>`标签内部包含一个或多个`<td>`标签,表示表格的单元格。 下面是一个简单的例子: ```html <table> <tr> <td>单元格 1</td> <td>单元格 2</td> </tr> <tr> <td>单元格 3</td> <td>单元格 4</td> </tr> </table> ``` 这个例子创建了一个包含两行两列的表格,每个单元格中包含一些文本。在浏览器中查看这个 HTML 代码,你会看到一个简单的表格。 2. 合并单元格 有时候,你可能需要将多个单元格合并成一个单元格,以便呈现更复杂的数据。这可以通过使用`colspan`和`rowspan`属性来实现。 `colspan`属性指定要合并的列数,而`rowspan`属性指定要合并的行数。例如,如果你想将一个单元格合并到下一个单元格中,可以使用以下代码: ```html <table> <tr> <td>单元格 1</td> <td colspan="2">单元格 2 和 3</td> </tr> <tr> <td>单元格 4</td> <td>单元格 5</td> <td>单元格 6</td> </tr> </table> ``` 在这个例子中,第一行的第二个单元格和第三个单元格被合并成一个单元格。这个单元格跨越了两个列。 3. 设置表格样式 你可以使用 CSS 来为 HTML 表格设置样式。例如,你可以设置表格的边框、背景颜色、文本对齐方式等。 以下是一个简单的 CSS 代码,用于设置表格的样式: ```css table { border-collapse: collapse; width: 100%; } th, td { text-align: left; padding: 8px; } th { background-color: #f2f2f2; color: #333; } ``` 这个 CSS 代码设置了表格的边框合并、宽度、单元格内边距、文本对齐方式和表头的背景颜色。 4. 添加表头 在 HTML 表格中,你可以使用`<th>`标签来定义表头。表头通常用于显示每列的标题,并且会默认居中显示。 以下是一个带有表头的例子: ```html <table> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> <tr> <td>小明</td> <td>18</td> <td>男</td> </tr> <tr> <td>小红</td> <td>20</td> <td>女</td> </tr> </table> ``` 在这个例子中,第一行使用`<th>`标签定义了表头。表头的内容会默认居中显示,并且会呈现粗体字体。 5. 排序表格 HTML 表格还支持通过点击表头来对表格中的数据进行排序。要实现这个功能,你需要使用 JavaScript。 以下是一个基本的 JavaScript 代码,用于对表格中的数据进行排序: ```javascript function sortTable(n) { var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0; table = document.getElementById("myTable"); switching = true; dir = "asc"; while (switching) { switching = false; rows = table.getElementsByTagName("tr"); for (i = 1; i < (rows.length - 1); i++) { shouldSwitch = false; x = rows[i].getElementsByTagName("td")[n]; y = rows[i + 1].getElementsByTagName("td")[n]; if (dir == "asc") { if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) { shouldSwitch= true; break; } } else if (dir == "desc") { if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) { shouldSwitch= true; break; } } } if (shouldSwitch) { rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); switching = true; switchcount ++; } else { if (switchcount == 0 && dir == "asc") { dir = "desc"; switching = true; } } } } ``` 这个 JavaScript 代码会为表格添加一个排序功能。你可以通过点击表头来对表格中的数据进行排序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张驰Terry

知识源于创作热情,感谢你的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值