突破 HTML 學習瓶頸:表格、列表與表單的學習進度(一)

HTML 學習之困,如何破局?

作為一名熱衷于網頁開發的博主,在 HTML 的學習道路上,我可謂是 “過關斬將”,但也遇到過不少 “硬茬”。起初,當我滿心歡喜地以為掌握了基本的 HTML 標簽,就能輕松搭建出理想中的網頁時,現實卻給了我沉重一擊。

就拿簡單的表格布局來說,我按照自己的理解編寫代碼,滿心期待著能在瀏覽器中看到一個結構規整、樣式美觀的表格,可結果呈現出來的卻是一團糟,單元格的寬度、高度完全不受控制,邊框也粗細不均,有的甚至還莫名其妙地消失了。檢查代碼時,各種報錯信息更是讓我眼花繚亂,一會兒提示標簽未閉合,一會兒又說屬性值錯誤,當時真的是感覺自己像個無頭蒼蠅,完全不知道從何下手去解決這些問題 。

在學習列表時,我也遇到了不少麻煩。有序列表的編號總是不能按照我期望的起始值和順序排列,無序列表的項目符號樣式也很難調整成我想要的樣子。而且,當我嘗試將列表嵌套在復雜的頁面結構中時,整個布局就會變得混亂不堪,元素之間的間距和層次關系也變得難以把控。

還有表單部分,那更是讓我頭疼不已。提交表單時,數據總是無法正確地發送到服務器,驗證表單輸入的合法性時,各種條件判斷和提示信息的顯示也總是出現問題。有時候,好不容易解決了一個問題,卻又引發了新的問題,真的是讓我心力交瘁。

相信不少學習 HTML 的小伙伴都有過類似的經歷,那種面對問題時的迷茫和無助,真的很容易讓人產生挫敗感,甚至懷疑自己是否適合學習網頁開發。但正是這些困難和挫折,讓我明白,HTML 的學習絕非一蹴而就,每一個看似簡單的知識點背后,都隱藏著許多需要我們深入探究和掌握的細節。在不斷解決這些問題的過程中,我也逐漸摸索出了一些方法和技巧,今天就想和大家分享一下我在突破 HTML 學習瓶頸 —— 表格、列表與表單時的學習進度和心得。

表格:構建規整數據世界

在 HTML 中,表格是一種非常重要的元素,它能夠將數據以結構化的方式呈現出來,讓信息更加清晰明了 。無論是展示學生成績、商品信息,還是其他各類數據,表格都能發揮其獨特的作用。下面,我將分享一下我在學習表格過程中的一些關鍵知識點和心得。

(一)表格基礎語法大揭秘

表格的創建主要依賴于<table>、<tr>、<th>和<td>這幾個基本標簽。<table>標簽用于定義整個表格,就像是一個大容器,將所有的表格內容都包含在其中。<tr>標簽代表表格中的一行,每一個<tr>標簽內可以包含多個單元格標簽。<th>標簽用于定義表頭單元格,通常表頭會以加粗、居中的方式顯示,以便與普通數據單元格區分開來,讓用戶一眼就能明白每列數據的含義。<td>標簽則是用于定義普通的數據單元格,它是真正存放數據的地方。

下面通過一個簡單的示例來展示如何創建一個學生成績表:

 

<table border="1">

<tr>

<th>姓名</th>

<th>語文</th>

<th>數學</th>

<th>英語</th>

</tr>

<tr>

<td>張三</td>

<td>90</td>

<td>95</td>

<td>88</td>

</tr>

<tr>

<td>李四</td>

<td>85</td>

<td>87</td>

<td>92</td>

</tr>

</table>

在這個示例中,我們首先使用<table>標簽創建了一個表格,并通過border="1"屬性為表格添加了邊框,這樣可以更清晰地看到表格的結構。然后,在第一個<tr>標簽內,使用<th>標簽定義了表頭,分別是 “姓名”“語文”“數學”“英語”。接著,在后面的兩個<tr>標簽內,使用<td>標簽定義了每一行的數據,分別對應張三和李四的成績。通過這樣簡單的代碼,一個基本的學生成績表就創建完成了。

(二)表格樣式屬性巧設置

雖然基礎語法能夠創建出表格,但默認的表格樣式可能并不美觀,這就需要我們通過設置一些樣式屬性來讓表格更加美觀。在 HTML 中,可以使用style屬性來設置表格的樣式,也可以通過 CSS 來進行更靈活、更強大的樣式控制。這里先簡單介紹一些常用的樣式屬性。

  • 邊框設置:可以通過border屬性來設置表格的邊框,包括邊框的寬度、顏色和樣式。例如,border: 1px solid black;表示設置邊框寬度為 1 像素,樣式為實線,顏色為黑色。通過設置不同的border屬性值,可以實現各種不同風格的邊框效果。
  • 背景顏色設置:使用background - color屬性可以設置表格的背景顏色,也可以單獨設置表頭、表行或單元格的背景顏色。比如,將表頭的背景顏色設置為#4CAF50(綠色),可以使表頭更加突出。示例代碼如下:
 

<style>

th {

background-color: #4CAF50;

color: white;

}

</style>

  • 對齊方式設置:通過text-align屬性可以設置單元格內文本的對齊方式,常見的值有left(左對齊)、center(居中對齊)和right(右對齊)。例如,將所有單元格內的文本設置為居中對齊:
 

<style>

td, th {

text-align: center;

}

</style>

為了更直觀地對比不同樣式設置的效果,我們來看下面兩個表格:

  • 未設置樣式的表格
 

<table>

<tr>

<th>姓名</th>

<th>年齡</th>

</tr>

<tr>

<td>小明</td>

<td>20</td>

</tr>

</table>

這個表格沒有設置任何樣式,看起來比較簡陋,邊框不明顯,文本也沒有統一的對齊方式。

  • 設置樣式后的表格
 

<style>

table {

border-collapse: collapse;

width: 100%;

}

th, td {

border: 1px solid #dddddd;

text-align: left;

padding: 8px;

}

tr:nth-child(even) {

background-color: #f2f2f2;

}

th {

background-color: #4CAF50;

color: white;

}

</style>

<table>

<tr>

<th>姓名</th>

<th>年齡</th>

</tr>

<tr>

<td>小明</td>

<td>20</td>

</tr>

<tr>

<td>小紅</td>

<td>22</td>

</tr>

</table>

設置樣式后的表格,邊框合并,寬度占滿父容器,表頭有了鮮明的背景顏色和白色文本,隔行背景顏色不同,文本左對齊,整體看起來更加美觀、專業,數據也更易于閱讀。

(三)復雜表格結構搭建

在實際應用中,我們經常會遇到需要創建復雜表格結構的情況,這時就需要用到表頭<thead>、表格主體<tbody>和表格腳注<tfoot>等標記。<thead>標簽用于定義表格的表頭部分,通常包含列標題,它可以讓表頭在表格滾動時保持固定,方便用戶查看。<tbody>標簽用于定義表格的主體內容,也就是實際的數據部分。<tfoot>標簽用于定義表格的腳注部分,一般包含一些匯總信息或說明。

以電商商品參數表為例,代碼如下:

 

<table>

<caption>商品參數表</caption>

<thead>

<tr>

<th>參數名稱</th>

<th>參數值</th>

</tr>

</thead>

<tbody>

<tr>

<td>品牌</td>

<td>小米</td>

</tr>

<tr>

<td>型號</td>

<td>13 Pro</td>

</tr>

<tr>

<td>屏幕尺寸</td>

<td>6.73英寸</td>

</tr>

</tbody>

<tfoot>

<tr>

<td colspan="2">以上參數僅供參考,實際參數可能因生產批次等因素略有差異。</td>

</tr>

</tfoot>

</table>

在這個示例中,<caption>標簽為表格添加了標題 “商品參數表”。<thead>部分定義了表頭,包含 “參數名稱” 和 “參數值” 兩列。<tbody>部分填充了具體的商品參數數據。<tfoot>部分則添加了腳注信息,通過colspan="2"屬性讓腳注單元格橫跨兩列。這樣的結構使得表格層次更加清晰,易于維護和擴展,無論是對于開發者還是用戶來說,都能更方便地理解和處理表格中的數據。

列表:讓內容有序呈現

列表在 HTML 中也是非常重要的元素,它可以讓內容以一種有序或無序的方式呈現,增強內容的可讀性和條理性 。無論是制作導航菜單、展示步驟流程,還是列出項目清單,列表都能派上用場。接下來,讓我們一起深入了解 HTML 中的列表。

(一)無序列表:自由的項目集合

無序列表使用<ul>(Unordered List)標簽創建,其中的每個列表項使用<li>(List Item)標簽定義。無序列表通常以項目符號(小圓點)開始每個列表項 。它非常適合用于項目沒有特定順序的場合,比如購物清單、功能列表等。例如,我們要創建一個今日待辦事項的無序列表:

 

<ul>

<li>完成HTML學習筆記整理</li>

<li>購買生活用品</li>

<li>鍛煉身體</li>

</ul>

在這個示例中,<ul>標簽定義了無序列表,每個<li>標簽表示一個待辦事項。在 HTML4 中,可以使用type屬性來改變項目符號的樣式(如disc、circle或square),但在 HTML5 中,建議使用 CSS 來控制列表樣式。例如,使用 CSS 將項目符號設置為方形:

 

ul {

list-style-type: square;

}

(二)有序列表:步驟與順序的體現

有序列表使用<ol>(Ordered List)標簽創建,同樣每個列表項也是用<li>標簽定義。有序列表通常以數字、字母或羅馬數字等有序的符號開始每個列表項,用于表示步驟、順序或排名等具有明確順序的內容 。比如,我們要展示一份簡單的炒菜烹飪步驟:

 

<ol>

<li>準備所有食材并洗凈</li>

<li>將食材切成合適大小</li>

<li>熱鍋加油爆香</li>

<li>依次加入食材翻炒</li>

<li>加入調料烹飪至熟</li>

</ol>

在這個示例中,<ol>標簽創建了有序列表,每個<li>標簽代表一個烹飪步驟,瀏覽器會自動為每個步驟編號,從 1 開始依次遞增。<ol>標簽還可以通過start屬性指定起始編號,通過reversed屬性實現倒序排列,通過type屬性改變編號的類型(如1、a、A、i、I等)。例如,將起始編號設置為 3:

 

<ol start="3">

<li>步驟一</li>

<li>步驟二</li>

<li>步驟三</li>

</ol>

(三)定義列表:術語與解釋的組合

定義列表使用<dl>(Definition List)標簽創建,它不同于無序列表和有序列表,用于表示術語及其解釋,通常用于詞匯表、術語解釋或者鍵值對數據 。在定義列表中,<dt>(Definition Term)標簽用于定義術語,<dd>(Definition Description)標簽用于定義術語的描述。例如,我們要創建一個簡單的 HTML 術語表:

 

<dl>

<dt>HTML</dt>

<dd>超文本標記語言,是創建網頁的標準標記語言</dd>

<dt>CSS</dt>

<dd>層疊樣式表,用于設置HTML元素的樣式</dd>

<dt>JavaScript</dt>

<dd>一種編程語言,可以為網頁添加交互功能</dd>

</dl>

在這個示例中,<dl>標簽定義了整個定義列表,每個<dt>標簽后面緊跟著對應的<dd>標簽,用于解釋該術語的含義。一個<dl>標簽內可以包含多個<dt>和<dd>組合,以定義多個術語及其解釋。

(四)列表嵌套:打造多級結構

HTML 列表可以相互嵌套,創建多級列表結構,用于展示具有層次關系的內容 。例如,我們要展示一個 Web 開發課程大綱:

 

<ol>

<li>HTML基礎

<ul>

<li>標簽與屬性</li>

<li>文檔結構</li>

<li>列表與表格</li>

</ul>

</li>

<li>CSS樣式

<ul>

<li>選擇器</li>

<li>盒模型</li>

<li>布局技術</li>

</ul>

</li>

</ol>

在這個示例中,外層是一個有序列表<ol>,代表課程的主要章節。每個章節又包含一個無序列表<ul>,用于展示該章節下的具體知識點。通過列表嵌套,可以清晰地呈現出課程內容的層次結構,使讀者更容易理解和把握整體內容。列表嵌套的層數沒有嚴格限制,但要注意保持結構清晰,避免過度嵌套導致代碼復雜度過高。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898628.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898628.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898628.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

理一理Mysql日期

在 MySQL 數據庫中&#xff0c;關于日期和時間的類型主要有以下幾種&#xff1a; 1. **DATE**: 僅存儲日期部分&#xff0c;格式為 YYYY-MM-DD&#xff0c;例如 2023-10-31。 2. **TIME**: 僅存儲時間部分&#xff0c;格式為 HH:MM:SS&#xff0c;例如 14:30:00。 3. **DATE…

CEF 多進程模式時,注入函數,獲得交互信息

CEF 控制臺添加一函數,枚舉 注冊的供前端使用的CPP交互函數有哪些-CSDN博客 上篇文章,是在模擬環境,單進程中設置的,這篇文章,將其改到正常多進程環境中設置。 對應于工程中的 CEF_RENDER項目 一、多進程模式中,改寫 修改步驟 1、注入函數 client_app_render.cpp 在…

C++ 介紹STL底層一些數據結構

c 標準模板庫中&#xff0c;set和map的底層實現通常基于紅黑樹&#xff0c;然們都是平衡二叉搜索樹(Balanceed Binary Serach Tree&#xff09;的一種,這種結構保證了 插入&#xff0c;刪除&#xff0c;查找的時間復雜度為O(log n)比普通二叉搜索樹更高效。 set set<T>…

在 Kubernetes(k8s)部署過程中常見的問題

在 Kubernetes(k8s)部署過程中,常見的問題主要包括以下幾類,以下是具體示例及簡要說明: 1. 資源配額不足(Resource Quota) 現象:Pod 處于 Pending 狀態,事件日志顯示 Insufficient CPU/Memory。 原因: 節點(Node)資源不足,無法滿足 Pod 的 requests 或 limits。 命…

Android Window浮窗UI組件使用JetPack

目前接手的一個業務&#xff0c;應用不是用Activity/Fragment作為界面組件&#xff0c;而是用Window浮窗的形式顯示&#xff0c;并且浮窗有很多種類型&#xff0c;每一種類型對應一類業務。那么怎么使用Jatpack的相關特性來設計架構并提高開發效率呢&#xff1f;分下面幾個模塊…

基于WebRtc,GB28181,Rtsp/Rtmp,SIP,JT1078,H265/WEB融合視頻會議接入方案

智能融合視頻會議系統方案—多協議、多場景、全兼容的一站式視頻協作平臺 OvMeet,LiveMeet針對用戶?核心痛點實現功能與用戶價值 &#xff0c;Web平臺實現MCU多協議&#xff0c;H265/H264等不同編碼監控&#xff0c;直播&#xff0c;會議&#xff0c;調度資源統一融合在一套界…

深入淺出理解LLM PPO:基于verl框架的實現解析之一

1. 寫在前面 強化學習(Reinforcement Learning,RL)在大型語言模型(Large Language Model,LLM)的訓練中扮演著越來越重要的角色。特別是近端策略優化(Proximal Policy Optimization,PPO)算法,已成為對齊LLM與人類偏好的主流方法之一。本文將基于verl框架(很多復刻De…

卷積神經網絡 - 匯聚層

卷積神經網絡一般由卷積層、匯聚層和全連接層構成&#xff0c;本文我們來學習匯聚層。 匯聚層(Pooling Layer)也叫子采樣層(Subsampling Layer)&#xff0c;其作用是進 行特征選擇&#xff0c;降低特征數量&#xff0c;從而減少參數數量。 卷積層雖然可以顯著減少網絡中連接的…

vue使用element-ui自定義樣式思路分享【實操】

前言 在使用第三方組件時&#xff0c;有時候組件提供的默認樣式不滿足我們的實際需求&#xff0c;需要對默認樣式進行調整&#xff0c;這就需要用到樣式穿透。本篇文章以vue3使用element-ui的Tabs組件&#xff0c;對Tabs組件的添加按鈕樣式進行客制化為例。 確定需要修改的組…

【工具分享】vscode+deepseek的接入與使用

目錄 第一章 前言 第二章 獲取Deepseek APIKEY 2.1 登錄與充值 2.2 創建API key 第三章 vscode接入deepseek并使用 3.1 vscode接入deepseek 3.2 vscode使用deepseek 第一章 前言 deepseek剛出來時有一段時間余額無法充值&#xff0c;導致小編沒法給大家發完整的流程&…

【藍橋杯速成】| 9.回溯升級

題目一&#xff1a;組合綜合 問題描述 39. 組合總和 - 力扣&#xff08;LeetCode&#xff09; 給你一個 無重復元素 的整數數組 candidates 和一個目標整數 target &#xff0c;找出 candidates 中可以使數字和為目標數 target 的 所有 不同組合 &#xff0c;并以列表形式返…

【C++進階】深入探索類型轉換

目錄 一、C語言中的類型轉換 1.1 隱式類型轉換 1.2. 顯式類型轉換 1.3.C語言類型轉換的局限性 二、C 類型轉換四劍客 2.1 static_cast&#xff1a;靜態類型轉換&#xff08;編譯期檢查&#xff09; 2.2 dynamic_cast&#xff1a;動態類型轉換&#xff08;運行時檢查&…

代碼隨想錄_動態規劃

代碼隨想錄 動態規劃 509.斐波那契數 509. 斐波那契數 斐波那契數 &#xff08;通常用 F(n) 表示&#xff09;形成的序列稱為 斐波那契數列 。該數列由 0 和 1 開始&#xff0c;后面的每一項數字都是前面兩項數字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n…

計算機基礎:編碼03,根據十進制數,求其原碼

專欄導航 本節文章分別屬于《Win32 學習筆記》和《MFC 學習筆記》兩個專欄&#xff0c;故劃分為兩個專欄導航。讀者可以自行選擇前往哪個專欄。 &#xff08;一&#xff09;WIn32 專欄導航 上一篇&#xff1a;計算機基礎&#xff1a;編碼02&#xff0c;有符號數編碼&#xf…

設計模式(創建型)-單例模式

摘要 在軟件開發的世界里&#xff0c;設計模式是開發者們智慧的結晶&#xff0c;它們為解決常見問題提供了經過驗證的通用方案。單例模式作為一種基礎且常用的設計模式&#xff0c;在許多場景中發揮著關鍵作用。本文將深入探討單例模式的定義、實現方式、應用場景以及可…

基于FPGA頻率、幅度、相位可調的任意函數發生器(DDS)實現

基于FPGA實現頻率、幅度、相位可調的DDS 1 摘要 直接數字合成器( DDS ) 是一種通過生成數字形式的時變信號并進行數模轉換來產生模擬波形(通常為正弦波)的方法,它通過數字方式直接合成信號,而不是通過模擬信號生成技術。DDS主要被應用于信號生成、通信系統中的本振、函…

本地JAR批量傳私服

在有網絡隔離的環境下&#xff0c;Maven項目如果沒有搭建私服就得把用到的通用組件通過U盤在每個組員間拷貝來拷貝去。非常的麻煩跟低效。搭建私服&#xff0c;如果通用組件很多的時候手工一個一個上傳更是非常的麻煩跟低效&#xff1b; 我就遇上這問題&#xff0c;跟A公司合作…

【ROS實戰】02-ROS架構介紹

1. 簡介 你是否曾有過這樣的疑問&#xff1a;我按照文檔安裝了ROS&#xff0c;依照要求寫了一些示例節點&#xff08;node&#xff09;、消息&#xff08;msg&#xff09;和話題&#xff08;topic&#xff09;&#xff0c;但覺得過程既麻煩又繁瑣。也許你開始懷疑&#xff1a;…

LeetCode算法題(Go語言實現)_07

題目 給你一個整數數組 nums&#xff0c;返回 數組 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘積 。 題目數據 保證 數組 nums之中任意元素的全部前綴元素和后綴的乘積都在 32 位 整數范圍內。 請 不要使用除法&#xff0c;且在 O(n) 時間復…

網絡華為HCIA+HCIP 網絡編程自動化

telnetlib介紹 telnetlib是Python標準庫中的模塊。它提供了實現Telnet功能的類telnetlib.Telnet。這里通過調用telnetlib.Telnet類里的不同方法實現不同功能。 配置云