HTML之表格学习记录

在HTML中,一个表格一般会由以下三个部分组成。

表格:table标签

行:tr

标签单元格:td

标签语法

复制代码
<table>
    <tr>
        <td>单元格 1</td>
        <td>单元格 2</td>
    </tr>
    <tr>
        <td>单元格 3</td>
        <td>单元格 4</td>
    </tr>
</table>

tr,指的是table row(表格行)​。

td,指的是table data cell(表格单元格)​。

<table>和</table>表示整个表格的开始和结束,<tr>和 </tr>表示行的开始和结束,而<td>和</td>表示单元格的开始和结束。

练习题:

利用这一章学到的知识,制作如图所示的表格效果,并且要求代码语义化。

代码:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>表格练习</title>
    <style type="text/css">
        table,tr,td{border:1px solid silver;} 
    </style>
</head>
<body>
<table>
    <caption style="text-align:center;">学生成绩表</caption>
    <thead>
        <tr>
            <th>姓名</th>
            <th>性别</th>
            <th>成绩</th>
        </tr>
    </thead>
   <tbody>
    <tr>
        <td>张三</td>
        <td>男</td>
        <td>250</td>
    </tr>
    <tr>
        <td>李四</td>
        <td>男</td>
        <td>250</td>
    </tr>
   </tbody>
   <tfoot>
    <tr>
        <td>平均分</td>
        <td colspan="2">385</td>
    </tr>
   </tfoot>
    
</table>
   
</body>
</html>

效果图:

练习过程代码:

html 复制代码
<!DOCTYPE html>
<html>
    <head>
        <title>表格</title>
        <meta charset="utf-8"/>
        <!-- 这里使用CSS为表格加上边框 -->
        <style type="text/css">
            table,tr,td{border:1px solid silver;} 

        </style>

       
    </head>
    <bady>
        <!-- 在过去的Web 1.0时代,表格常用于网页布局。
         但是在Web2.0中,这种方式已经被抛弃了,网页布局都是使用CSS来实现的(学了CSS就会知道) -->
         
         <!-- 一个表格只能有一个标题,也就是只能有一个caption标签。
          在默认情况下,标题都是位于整个表格内的第一行。 -->
          
         <!-- tr,指的是table row(表格行)​。td,指的是table data cell(表格单元格)​。 -->
         <table>
            <caption>表格标题</caption>
            <tr>
                <td>单元格 1</td>
                <td>单元格 2</td>
            </tr>
            <tr>
                <td>单元格 3</td>
                <td>单元格 4</td>
            </tr>
        </table>
        
         <table>
            <caption>技术学习</caption>
            <tr>
                <td>HTML</td>
                <td>CSS</td>
            </tr>
            <tr>
                <td>JavaScript</td>
                <td>jQuery</td>
            </tr>
         </table>
         <!-- 在HTML中,单元格其实有两种:表头单元格,使用th标签;表行单元格,使用td标签。 -->
         <!-- th,指的是table header cell(表头单元格)​。td,指的是table data cell(表行单元格)​。 -->
         <table>
            <caption>表格标题</caption>
            <tr>
                <th>表头单元格 1</th>
                <th>表头单元格 2</th>
            </tr>
            <tr>
                <td>表行单元格 1</td>
                <td>表行单元格 2</td>
            </tr>
            <tr>
                <td>表行单元格 3</td>
                <td>表行单元格 4</td>
            </tr>
        </table>
        
         <table>
            <caption>考试成绩表</caption>
            <tr>
                <th>姓名</th>
                <th>数学</th>
                <th>语文</th>
            </tr>
            <tr>
                <td>张三</td>
                <td>90</td>
                <td>80</td>
            </tr>
            <tr>
                <td>李四</td>
                <td>70</td>
                <td>60</td>
            </tr>
            </tr>
         </table>
         <!-- 一个完整的表格包含:table、caption、tr、th、td。为了更深入地对表格进行语义化,
          HTML引入了thead、tbody和thead、tbody和tfoot把表格划分为三部分:表头、表身、表脚。
          有了这三个标签,表格语义更加良好,结构更清晰,也更具有可读性和可维护性 -->
          <table>
            <caption>考试成绩表</caption>
            <thead>
                <tr>
                    <th>姓名</th>
                    <th>数学</th>
                    <th>语文</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>张三</td>
                    <td>90</td>
                    <td>80</td>
                </tr>
                <tr>
                    <td>李四</td>
                    <td>70</td>
                    <td>60</td>
                </tr>
            </tbody>
            
            <tfoot>
                <tr>
                    <td>平均分</td>
                    <td>75</td>
                    <td>65</td>
                </tr>
            </tfoot>
          </table>
          <!-- 表脚(tfoot)往往用于统计数据。对于thead、tbody和tfoot这三个标签,不一定全部都用上,
           例如tfoot就很少用。一般情况下,我们都是根据实际需要来使用这三个标签。 -->
           <!-- thead、tbody和tfoot除了使得代码更具有语义之外,还有另外一个重要作用:方便分块来控制表格的CSS样式。 -->
            
           
           <!-- 有时我们需要将"横向的N个单元格"或者"纵向的N个单元格"合并成一个单元格(类似Word中的表格合并)​,这个时候就需要用到"合并行"或"合并列"​。 -->
            <!-- 合并行 -->
           
             <br/>
             <table>
                <tr>
                    <td>姓名:</td>
                    <td>小明</td>
                </tr>
                <tr>
                    <td>喜欢的水果:</td>
                    <td>苹果</td>
                </tr>
                <tr>
                    <td>香蕉</td>
                </tr>
             </table>
             
              <!-- rowspan="2"实际上是让加上rowspan属性的这个td标签跨越两行。 -->
               <br/>
             <table>
                <tr>
                    <td>姓名:</td>
                    <td>小明</td>
                </tr>
                <tr>
                    <td  rowspan="2">喜欢的水果:</td>
                    <td>苹果</td>
                </tr>
                <tr>
                    <td>香蕉</td>
                </tr>
             </table>
                <br/>
             <!-- 在HTML中,我们可以使用colspan属性来合并列。所谓的合并列,指的是将"横向的N个单元格"合并 -->
              <table>
                <tr>
                    <td>前端开发技术</td>
                </tr>
                <tr>
                    <td>HTML</td>
                    <td>CSS</td>
                </tr>
                <tr>
                    <td>JavaScript</td>
                    <td>jQuery</td>
                </tr>
              </table>
              <br/>
              <table>
                <tr>
                    <td colspan="2">前端开发技术</td>
                </tr>
                <tr>
                    <td>HTML</td>
                    <td>CSS</td>
                </tr>
                <tr>
                    <td>JavaScript</td>
                    <td>jQuery</td>
                </tr>
              </table>
        </bady>
</html>

效果图:

相关推荐
2401_894915531 小时前
GEO 优化源码全解析:从搜索引擎到 AI 引擎的底层改写逻辑
java·服务器·前端·数据库·人工智能·分布式·搜索引擎
Profile排查笔记7 小时前
指纹浏览器哪个好?从 Profile、代理、权限和自动化能力判断是否适合
前端·人工智能·后端·自动化
lzhdim7 小时前
12、JavaScript常见的内存泄露问题 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript
denggun123457 小时前
yield
前端·数据库·python
前端snow7 小时前
ai agent -- prompt汇总
前端
muddjsv9 小时前
前端性能优化实战:从加载到渲染的全面提速指南
前端·性能优化
deli0070079 小时前
JSON 树形查看器:粘贴即解析,折叠展开一目了然
前端·数据库·json·ai编程
guanguan0_09 小时前
PageProxy:页面维度接口地图 + 一键场景切换
前端·ai编程·请求代理·proxy工具
liangshanbo121510 小时前
虚拟列表深度面试题整理
java·开发语言·前端
IT_陈寒10 小时前
Redis内存警告竟是因为这个不起眼的配置项
前端·人工智能·后端