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>

效果图:

相关推荐
李明卫杭州1 分钟前
浅谈JavaScript中Blob对象
前端·javascript
springfe01012 分钟前
Cesium 3D地图 图元 圆柱 图片实现
前端·cesium
meng半颗糖4 分钟前
vue3 双容器自动扩展布局 根据 内容的多少 动态定义宽度
前端·javascript·css·vue.js·elementui·vue3
yt948325 分钟前
jquery和CSS3圆形倒计时特效
前端·css3·jquery
teeeeeeemo7 分钟前
CSS3 动画基础与技巧
前端·css·笔记·css3
年纪轻轻就扛不住10 分钟前
CSS3 渐变效果
前端·css·css3
Aisanyi14 分钟前
【鸿蒙开发】使用HMRouter路由的使用
前端·harmonyos
杉木笙19 分钟前
Flutter 代码雨实现(矩阵雨)DLC 多图层
前端·flutter
SouthernWind20 分钟前
Vista AI 演示—— 提示词优化功能
前端·vue.js
林太白21 分钟前
也许看了Electron你会理解Tauri,扩宽你的技术栈
前端·后端·electron