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>

效果图:

相关推荐
英俊潇洒美少年4 小时前
Vue 生产环境打包:SourceMap、压缩、混淆、加密全解 + 最佳实践
前端·javascript·vue.js
巴博尔5 小时前
UNIAPP中NVUE页面 动画
android·前端·javascript·ios·uni-app
她说人狗殊途7 小时前
基于 vue-cli 创建
前端·javascript·vue.js
AZaLEan__7 小时前
前端移动端适配与 Bootstrap
前端·bootstrap·html
大家的林语冰8 小时前
Deno 2.8 正式发布,再次超越 Bun,史上最大的次版本升级诞生!
前端·javascript·node.js
渣渣xiong8 小时前
从零开始:前端转型AI agent直到就业第五十七天-第五十八天
前端·人工智能·python
AI周红伟8 小时前
周红伟:长鑫科技(CXMT)财务全景分析
前端·chrome·科技
excel8 小时前
JS 正则在多次 test() 时为什么会出现 lastIndex 缓存问题?
前端
IT_陈寒8 小时前
为什么 Java 的 Optional 让我调试到深夜?
前端·人工智能·后端
米丘9 小时前
React 19.x 的 lazy 与 Suspense
前端·javascript·react.js