Web開發(一)HTML5

Web開發(一)HTML5

寫在前面

參考黑馬程序員前端Web教程做的筆記,主要是想后面自己搭建網頁玩。

這部分是前端HTML5+CSS3+移動web視頻教程的HTML5部分。主要涉及到HTML的基礎語法。

HTML基礎

標簽定義

HTML定義

HTML(HyperText Markup Language),即超文本標記語言。

超文本:鏈接

標記:標簽,帶尖括號的文本。

image-20250112165358466

標簽語法定義如下,但凡需要包裹內容的就是雙標簽,只有幾個是單標簽。

image-20250112170719026

基本骨架

在vscode中按!后配合Enter/Tab可以快速生成

image-20250112171004109

如下所示。image-20250112171447904

標簽的關系

包括父子關系(嵌套關系)、兄弟關系(并列關系)。

如下所示,head和body就是兄弟關系,外面的html和內層head、body屬于父子關系。

image-20250112194823051

注釋

<!-- 注釋內容 -->

標題標簽

標題標簽同typora自帶的六級標題一樣。標題標簽會自動換行。一般來說h1標簽在一個網頁只用一次,用來放新聞標簽或網頁logo。

image-20250112195737929

段落標簽

顧名思義,用于寫文字的一段。

image-20250112195925735

image-20250112200311135

換行和水平線標簽

這兩個都是單標簽。

image-20250112200629509

換行中,瀏覽器不會識別代碼中的Enter換行。因為不管是一個間隙還是多個間隙,瀏覽器可以識別為1個空格。如果要多個空格,就得輸入&nbsp;

&nbsp; 是 HTML 中的一個特殊字符實體(Entity),表示"不換行空格"(Non-Breaking Space)。它有以下幾個主要作用:

  1. 插入空格:在 HTML 中,多個連續的普通空格會被瀏覽器解析為一個空格,而&nbsp; 可以強制插入一個空格。

  2. 保持不換行:它可以防止文本在這個位置換行。

示例結果如下:

    <!-- 使用普通空格 -->第一行內容 第二行內容<br><!-- 使用&nbsp; -->第一行內容&nbsp;第二行內容<br><!-- 使用多個&nbsp;可以創建更大的間距 -->第一行內容&nbsp;&nbsp;&nbsp;第二行內容

image-20250112201135040

文本格式化標簽

image-20250112201633152

通常用strong、em、ins、del標簽寫文本格式化標簽(而不是b,i,u,s)。

em:emphasis

ins:insert

del:delete

b:bold,即粗體

i:italic,即斜體

u:underline,即下劃線

s:strike-through,指的是穿過文本的刪除線。

image-20250112201801148

圖像標簽

圖片的URL存放圖片的位置,

image-20250112202959413

vscode自帶alt參數,alt是圖片的替換文字,當圖片顯示錯誤時顯示alt的文字。

image-20250112203223168

主要用到alt參數和title參數。

image-20250112203716125

另外還有width和height屬性,但它們通常通過CSS得到。如果指定width(height),瀏覽器會等比例縮放height(width)。image-20250112203628806

路徑指定,友情鏈接也屬于絕對路徑的應用。本地一般用相對路徑。

image-20250112204659946

超鏈接標簽

image-20250112215415510

點擊后跳轉到其他頁面,為雙標簽。如下所示,href中寫目標網頁地址

<a href="">跳轉文字描述</a>

用target="_blank"可以選擇新窗口打開。

image-20250112215058312

在開發初期,不知道超鏈接的跳轉地址,href屬性值寫#,來表示空鏈接,不會跳轉。

<a href="#">空鏈接</a>

音頻、視頻標簽

音頻標簽

音頻在默認情況下不會自動播放。

image-20250112215843777

control用于顯示音頻控制面板。**在HTML5中,如果屬性名和屬性值完全一樣,那么可以簡寫為一個單詞。**即下兩者是等價的。

(1)controls = "controls"
(2)controls

image-20250112220116756

對于loop、autoplay同樣可以簡寫為一個單詞。但是即使設置了autoplay屬性,仍然無法播放,因為瀏覽器一般禁用自動播放功能。

image-20250112220610895

視頻標簽

image-20250112220716321

autoplay需要配合muted屬性設置才能生效。否則不會自動播放。

image-20250112220941834

綜合案例1——個人簡介

整體目標與代碼

思路如下,從上到下,先整體后局部。

image-20250112224524807

完整代碼:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>個人簡介</title>
</head>
<body><h1><strong>尤雨溪</strong></h1><hr><p>尤雨溪,前端框架<a href="#">Vue.js</a>的作者,<a href="#">HTML5</a>版Clear的打造人,獨立開源開發者。曾就職于Google Creative Labs和Meteor Development Group。由于工作中大量接觸開源的<a href="#">JavaScript</a>項目,最后自己也走上了開源之路,現全職開發和維護<a href="#">Vue.js</a></p><img src="cat.gif" alt="一只貓的gif" title="一只貓的gif"><h2>學習經歷</h2><p>尤雨溪畢業于上海復旦附中,在美國完成大學學業,本科畢業于Colgate University,后在Parsons設計學院獲得Design & Technology藝術碩士學位,任職于紐約Google Creative Lab。</p><h2>主要成就</h2><p>尤雨溪<strong>大學專業并非是計算機專業</strong> ,在大學期間他學習專業是室內藝術和藝術史,后來讀了美術設計和技術的碩士,<ins>正是在讀碩士期間,他偶然接觸到了JavaScript ,從此被這門編程語言深深吸引,開啟了自己的前端生涯。</ins></p><p>2014年2月,開發了一個前端開發庫Vue.js。Vue.js 是構建 Web 界面的 JavaScript 庫,是一個通過簡潔的API提供高效的數據綁定和靈活的組件系統。</p><h2>社會任職</h2><p>2016年9月3日,在南京的JSConf上,Vue作者尤雨溪正式宣布加盟阿里巴巴Weex團隊,尤雨溪稱他將以技術顧問的身份加入Weex團隊來做 Vue 和 Weex 的 JavaScript runtime 整合,目標是讓大家能用 Vue 的語法跨三端。</p>
</body>
</html>
小tips

一段的文字過長,可以用alt+z快捷鍵換行,方便觀看。

image-20250112222942895

如果要在段落中插入超鏈接,可以在光標后先打一個空格,這樣就可以有vscode的編譯提示。

image-20250112223142402

綜合案例2——Vue簡介

image-20250112231502990

完整代碼如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue簡介</title>
</head>
<body><h1>Vue.js</h1><p>Vue (讀音 /vju?/,類似于 view) 是一套用于構建用戶界面的漸進式JavaScript框架。 [5] 與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當與現代化的工具鏈以及各種支持類庫結合使用時,Vue 也完全能夠為復雜的單頁應用(SPA)提供驅動。</p><p>其作者為<a href="./test1_cv.html" target="_blank">尤雨溪</a></p><h2>主要功能</h2><p>Vue.js是一套構建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue采用自底向上增量開發的設計。Vue 的核心庫只關注視圖層,并且非常容易學習,非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅動采用單文件組件和Vue生態系統支持的庫開發的復雜單頁應用。</p><p>Vue.js 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。</p><p>Vue.js 自身不是一個全能框架——它只聚焦于視圖層。因此它非常容易學習,非常容易與其它庫或已有項目整合。另一方面,在與相關工具和支持庫一起使用時 [2] ,Vue.js 也能驅動復雜的單頁應用。<video src="./vue.mp4" controls></video></p>    
</body>
</html>

HTML進階語法

列表

一般來說,無序列表用的最多。

image-20250113094311893

無序列表

注意事項

  1. ul標簽中只能包裹li標簽,無法包裹如段落p其他標簽
  2. li標簽中可以包裹任何內容。
  3. ul:unorder list

image-20250113094427438

image-20250113094732888

有序列表

ol:ordered list

image-20250113094948715

定義列表

dl:define list

dt:define title

dd:define detail

image-20250113095443181

1736733240509

表格

與Excel表格類似。

tr(table row)

th(table headline)

td(table data)

image-20250113100218490

image-20250113100137526

表格的結構,這兒的thead、tbody是給瀏覽器看的,目的是代碼優化,瀏覽器更好識別內容。

image-20250113100352705

image-20250113100635054

合并單元格

image-20250113101820051

跨行合并例子image-20250113101948011

跨列合并例子

image-20250113102050759

不能跨結構標簽(thead,tbody,tfoot)合并,即不能合并tbody中的“李四”和tfoot中的“總結”。

image-20250113102147288

表單

定義

image-20250113102403997

input標簽
基礎

input為單標簽

image-20250113102524068

image-20250113103108802

占位文本

用于提示信息。

image-20250113103217147

image-20250113103426937

單選框radio

image-20250113103906459

image-20250113103712944

設置默認選擇“checked”,會默認選擇對應單選框。

image-20250113103813856

上傳多個文件

image-20250113103938364

image-20250113104037101

多選框checkbox

image-20250113104205882

image-20250113104245842

下拉菜單

image-20250113104802766

image-20250113105011266

文本域

默認的col和row不用html設計,而是后面用css設計。

image-20250113105231976

image-20250113105439897

這里應該在前面的方括號后面添加placeholder=“請輸入評論”,否則會和用戶輸入混淆。image-20250113105752705

label標簽

image-20250113110006513

label有兩種方法

image-20250113110332551

完整寫法代碼示例

image-20250113110201326

簡易寫法示例

image-20250113110305947

按鈕button

默認type屬性為submit

image-20250113111842573

需要定義form標簽,來定義表單區域。

image-20250113112158335

無語義的布局標簽

image-20250113112544573

div一般稱為大盒子,span稱為小盒子。

image-20250113112734677

使用示例,三個紅框都是用div標簽隔出來的。

image-20250113112904659

字符實體

lt:less than

gt:greater than

中文字符大小的空格字符:&emsp;

image-20250113114104546

image-20250113114330458

綜合案例1——體育新聞列表

對應實現代碼如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>體育新聞列表</title>
</head>
<body><ul><li><img src="./img/1.jpg" alt="主帥安東尼奧回西班牙休假 國青抵達海口進行隔離"><h3>主帥安東尼奧回西班牙休假 國青抵達海口進行隔離</h3></li><li><img src="./img/2.jpg" alt="梅州主帥:申花有強有力的教練組 球員體能水平高"><h3>梅州主帥:申花有強有力的教練組 球員體能水平高</h3></li><li><img src="./img/3.jpg" alt="馬德興:00后球員將首登亞洲舞臺 調整心態才務實"><h3>馬德興:00后球員將首登亞洲舞臺 調整心態才務實</h3></li></ul>
</body>
</html>

綜合案例2——注冊信息

完成示例:

image-20250113140250395

這兒的確認密碼和密碼相同是通過js確認的,現在只需要設計出樣式即可。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>注冊信息</title>
</head>
<body><h1>注冊信息</h1><form action=""><h2>個人信息</h2><label>姓名:</label><input type="text" placeholder="請輸入真實姓名"><br><br><label>密碼:</label><input type = "password" placeholder="請輸入密碼"><br><br><label>確認密碼:</label><input type = "password" placeholder="請再次輸入密碼"><br><br><label>性別:</label><label><input type="radio" name="gender"></label><label><input type="radio" name="gender" checked></label><br><br><label>居住城市:</label><select><option>北京</option><option>上海</option><option>廣州</option><option>深圳</option><option selected>武漢</option></select><h2>教育經歷</h2><label>最高學歷:</label><select><option>本科</option><option selected>碩士</option><option>博士</option><option>大專</option></select><br><br><label>學校名稱:</label><input type="text"><br><br><label>所學專業:</label><input type="text"><br><br><label>在校時間:</label><select><option>2015</option><option>2016</option><option>2017</option><option>2018</option></select>--<select><option>2019</option><option>2020</option><option>2021</option><option>2022</option></select><h2>工作經歷</h2><label>公司名稱:</label><input type="text"><br><br><label>工作描述:</label><br><textarea placeholder="請輸入工作描述"></textarea><br><br><label><input type="checkbox">已閱讀并同意以下協議:</label><br><ul><li><a href="#">《用戶服務協議》</a></li><li><a href="#">《隱私政策》</a></li></ul><br><br><button>免費注冊</button><button type="reset">重新填寫</button></form></body>
</html>

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

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

相關文章

MATLAB學習筆記目錄

MATLAB學習筆記-生成純音并保存-CSDN博客 MATLAB學習筆記-各種格式之間的轉換 - 知乎 MATLAB學習筆記-胞組&#xff08;cell array&#xff09;轉換為矩陣&#xff0c;cell2mat_matlab如何把元胞數組改為矩陣-CSDN博客MATLAB學習筆記-判斷數組、結構體、數值、字符串是否相同…

Java-數據結構-棧與隊列(常考面試題與單調棧)

在上一篇的學習中&#xff0c;我們學習了棧和隊列的基本知識&#xff0c;以及它們對應都有哪些方法&#xff0c;在什么應用場景下如何使用&#xff0c;并且還對它們進行了模擬實現&#xff0c;而其實對于棧和隊列的相關知識還遠不止于此&#xff0c;而今天我們就對棧與隊列進行…

JSON.stringify(res,null,2)的含義

JSON.stringify(res, null, 2) 是 JavaScript 中將對象轉換為 JSON 字符串的方法&#xff0c;具體說明如下&#xff1a; 參數解釋 res&#xff1a;要轉換的對象。它可以是 JavaScript 中的任意類型&#xff0c;如對象、數組、字符串、數字等。例如&#xff0c;{name: "K…

Spring 項目 基于 Tomcat容器進行部署

文章目錄 一、前置知識二、本地Idea運行Spring項目1. 將寫好的 Spring 項目先打包成 war 包2. 查看項目工件&#xff08;Artifact&#xff09;是否存在3. 配置 Tomcat3.1 添加一個本地 Tomcat 容器3.2 將項目部署到 Tomcat 4. 運行項目 三、基于 Tomcat 部署及多實例部署1. Spr…

usbredir學習

文章目錄 背景典型場景編譯usbredirparserusbredirfilterusbredirparser/usbredirproto usbredirhostusbredirect/usbredirtestclient參考 背景 usbredir 是一種用于通過網絡轉發 USB 設備流量的網絡協議。它也是一個軟件包的名稱&#xff0c;該軟件包提供了一個解析庫、一個 …

ESXI 安裝教程(3) ---?vCenter Server 安裝

不涉及復雜的操作此項可不安裝 1.鏡像加載到虛擬光盤 對應的網盤文件 2.打開文件路徑 雙擊運行文件installer.exe 3.調整安裝語言 4.點擊安裝 5. 6. 證書,有效問題導致此提示,非專業網絡管理人員,不知道如何處理,此處點是即可 證書有效開始時間是安裝時間8小時 證書有效結束…

【初識掃盲】逆概率加權

我們正在處理一個存在缺失數據的回歸模型&#xff0c;并且希望采用一種非參數的逆概率加權方法來調整估計&#xff0c;以應對這種缺失數據的情況。 首先&#xff0c;我們需要明確問題的背景。我們有樣本 { ( Y i , X i , r i ) : i 1 , … , n } \left\{\left(Y_i, \boldsym…

極客說|Azure AI Agent Service 結合 AutoGen/Semantic Kernel 構建多智能體解決?案

作者&#xff1a;盧建暉 - 微軟高級云技術布道師 「極客說」 是一檔專注 AI 時代開發者分享的專欄&#xff0c;我們邀請來自微軟以及技術社區專家&#xff0c;帶來最前沿的技術干貨與實踐經驗。在這里&#xff0c;您將看到深度教程、最佳實踐和創新解決方案。關注「極客說」&am…

【集成學習】Boosting算法詳解

文章目錄 1. 集成學習概述2. Boosting算法詳解3. Gradient Boosting算法詳解3.1 基本思想3.2 公式推導 4. Python實現 1. 集成學習概述 集成學習&#xff08;Ensemble Learning&#xff09;是一種通過結合多個模型的預測結果來提高整體預測性能的技術。相比于單個模型&#xf…

小米vela系統(基于開源nuttx內核)——如何使用信號量進行PV操作

如何使用信號量進行PV操作 前言信號量1. 信號量簡介2. NuttX中信號量的創建與使用2.1 Nuttx信號量的初始化和銷毀2.2 信號量的等待和發布 3. 信號量的實際應用&#xff1a;下載任務示例3.1 實際代碼3.2 代碼說明3.3 執行說明 4. 信號量的優勢與應用場景5. 常見應用場景&#xf…

CMake學習筆記(2)

1. 嵌套的CMake 如果項目很大&#xff0c;或者項目中有很多的源碼目錄&#xff0c;在通過CMake管理項目的時候如果只使用一個CMakeLists.txt&#xff0c;那么這個文件相對會比較復雜&#xff0c;有一種化繁為簡的方式就是給每個源碼目錄都添加一個CMakeLists.txt文件&#xff…

旅游網站設計與實現

文末附有完整項目代碼 在當今數字化時代&#xff0c;旅游網站成為人們獲取旅游信息的重要途徑。本文將詳細介紹旅游網站的設計與實現&#xff0c;讓你輕松了解其中的技術奧秘&#xff01; 一、項目背景 隨著社會經濟的發展&#xff0c;人們對精神消費愈發重視&#xff0c;旅游…

【C++】size_t究竟是什么?全面解析與深入拓展

博客主頁&#xff1a; [小????????] 本文專欄: C 文章目錄 &#x1f4af;前言&#x1f4af;一、什么是size_t&#xff1f;為什么需要size_t&#xff1f; &#x1f4af;二、size_t的特性與用途1. size_t是無符號類型示例&#xff1a; 2. size_t的跨平臺適應性示例對…

【物流管理系統 - IDEAJavaSwingMySQL】基于Java實現的物流管理系統導入IDEA教程

有問題請留言或私信 步驟 下載項目源碼&#xff1a;項目源碼 解壓項目源碼到本地 打開IDEA 左上角&#xff1a;文件 → 新建 → 來自現有源代碼的項目 找到解壓在本地的項目源代碼文件&#xff0c;點擊確定&#xff0c;根據圖示步驟繼續導入項目 查看項目目錄&#xff…

ssh2-sftp-client和ssh2配合使用js腳本快速部署項目到服務器

有時候因為服務器不能實現github或者gitlab的自動部署服務&#xff0c;所以就需要使用腳本來實現自動部署&#xff0c;可以省時省力&#xff0c;一勞永逸。這里就使用ssh2-sftp-client和ssh2來實現&#xff0c;即便是需要sudo權限&#xff0c;也是可以的。 1.先將本地打包后的…

深度解析Linux中的調試器gdb/cgdb的使用

Linux下我們編譯好的代碼&#xff0c;無法直接調試 gcc/g默認的工作模式是realse模式 程序要調試的話&#xff0c;必須是debug模式&#xff0c;也就是說編譯的時候要加-g選項 gdb攜帶調試信息的exe 我們現在在文件夾里面創建一個文件lesson11 里面創建一個累加的代碼&…

【Maui】動態菜單實現(綁定數據視圖)

前言 .NET 多平臺應用 UI (.NET MAUI) 是一個跨平臺框架&#xff0c;用于使用 C# 和 XAML 創建本機移動和桌面應用。 使用 .NET MAUI&#xff0c;可從單個共享代碼庫開發可在 Android、iOS、macOS 和 Windows 上運行的應用。 .NET MAUI 是一款開放源代碼應用&#xff0c;是 X…

Bash語言的語法糖

Bash語言的語法糖 引言 在現代編程語言中&#xff0c;“語法糖”是一個非常常見的術語&#xff0c;它指的是那些使代碼更加易讀、易寫的語法特性。盡管這些特性并不改變語言的功能&#xff0c;但它們能顯著提升開發者的編程體驗。在眾多編程語言中&#xff0c;Bash&#xff0…

linux---Nginx詳細教程(包含安裝,網站部署)

Nginx是一個高性能的HTTP和反向代理服務器&#xff0c;也可以用作郵件代理服務器&#xff0c;其以占有內存少、并發能力強、穩定性高、豐富的功能集、低系統資源消耗而聞名。以下是對Nginx的詳細教程&#xff1a; 一、Nginx簡介 Nginx由俄羅斯人開發&#xff0c;第一個公開版…

RNN之:LSTM 長短期記憶模型-結構-理論詳解-及實戰(Matlab向)

0.前言 遞歸&#xff01;循環神經網絡Recurrent Neural Network 循環神經網絡&#xff08;又稱遞歸神經網絡&#xff0c;Recurrent Neural Network&#xff0c;RNN&#xff09;。是一種用于處理序列數據的神經網絡結構&#xff0c;具有記憶功能&#xff0c;能夠捕捉序列中的時…