HTML 圖像與多媒體元素:拓展學習邊界的進度記錄(一)

開篇:學習啟程

在前端開發的廣袤領域中,HTML 作為構建網頁的基石,其重要性不言而喻。而 HTML 圖像與多媒體元素,就像是為這座基石添上了絢麗的色彩與靈動的音符,賦予網頁更加豐富的表現力和交互性。作為一名熱衷于探索前端技術的博主,我深知掌握這些元素對于提升網頁開發能力的關鍵作用。于是,我踏上了深入學習 HTML 圖像與多媒體元素的征程,并決定將學習過程中的點滴記錄下來,與大家一同分享。希望通過這篇學習進度記錄,不僅能梳理自己的學習思路,也能為同樣在學習前端的小伙伴們提供一些參考和幫助 。

初窺門徑:基本語法掌握

(一)圖像元素<img>

<img>標簽用于在網頁中插入圖像,它是一個自閉合標簽,沒有結束標簽 。其最常用的屬性是src(source 的縮寫),用于指定圖像的路徑。路徑可以是相對路徑(相對于當前 HTML 文件的路徑)或絕對路徑(完整的 URL 地址)。比如,當圖片example.jpg與 HTML 文件位于同一目錄時,代碼可以這樣寫:<img src="example.jpg" alt="這是一張示例圖片">。這里的alt屬性也非常重要,它提供了圖像的替代文本,當圖像無法顯示時(比如圖片文件丟失、網絡加載失敗等情況),就會顯示alt屬性中的文本 ;同時,對于使用屏幕閱讀器的視障用戶來說,alt文本能幫助他們理解圖像的內容,提升網頁的可訪問性。例如,<img src="broken.jpg" alt="無法加載的示例圖片">,在圖片broken.jpg無法顯示時,頁面上就會顯示 “無法加載的示例圖片”。除了src和alt屬性,<img>標簽還可以設置width(寬度)和height(高度)屬性來指定圖像顯示的尺寸,單位可以是像素(px)或者百分比。例如:<img src="example.jpg" alt="示例圖片" width="200" height="150">,這會將圖片顯示為寬度 200 像素、高度 150 像素。不過,在實際開發中,更推薦使用 CSS 來控制圖像的尺寸,這樣可以使樣式和結構分離,便于維護和管理 。

(二)音頻元素<audio>

<audio>元素用于在網頁中嵌入音頻內容。通過src屬性可以指定音頻文件的路徑,與<img>標簽的src屬性類似,同樣支持相對路徑和絕對路徑。例如:<audio src="music.mp3"></audio>,這樣就引入了一個名為music.mp3的音頻文件。但此時在頁面上不會顯示任何播放控件,用戶無法操作音頻的播放。若要顯示播放控件,讓用戶能夠控制音頻的播放、暫停、音量等操作,就需要添加controls屬性,代碼變為:<audio src="music.mp3" controls></audio>。另外,autoplay屬性可以設置音頻文件在頁面加載完成后是否自動播放。不過,需要注意的是,由于自動播放音頻可能會影響用戶體驗,許多瀏覽器默認禁用了這一功能,即使設置了autoplay屬性,音頻也可能不會自動播放。例如:<audio src="music.mp3" controls autoplay></audio>。還有loop屬性,用于設置音頻是否循環播放,當設置loop屬性后,音頻播放完畢會自動重新開始播放 ,如<audio src="music.mp3" controls loop></audio>。為了兼容不同瀏覽器對音頻格式的支持,還可以使用<source>元素為<audio>提供多個音頻源,瀏覽器會自動選擇支持的格式進行播放。示例代碼如下:

 

<audio controls>

<source src="music.mp3" type="audio/mpeg">

<source src="music.ogg" type="audio/ogg">

您的瀏覽器不支持播放該音頻。

</audio>

(三)視頻元素<video>

<video>元素用于在網頁中嵌入視頻。它的src屬性同樣用于指定視頻文件的路徑,controls屬性用于顯示視頻播放控件,包含播放、暫停、進度條、音量控制等功能。例如:<video src="video.mp4" controls></video>,這樣就可以在網頁中展示一個可播放的視頻。通過設置width和height屬性,可以指定視頻播放器的寬度和高度,單位為像素,比如<video src="video.mp4" controls width="640" height="360"></video>,將視頻播放器設置為寬度 640 像素、高度 360 像素。autoplay屬性用于設置視頻是否自動播放,和音頻的autoplay屬性一樣,現在很多瀏覽器出于用戶體驗考慮,默認禁止自動播放視頻,若要自動播放,可能需要結合muted(靜音)屬性來實現,如<video src="video.mp4" controls autoplay muted></video>。loop屬性用于設置視頻是否循環播放,當設置了該屬性,視頻播放結束后會自動重新開始播放 ,代碼示例為<video src="video.mp4" controls loop></video>。另外,和音頻類似,為了兼容不同瀏覽器對視頻格式的支持,也可以使用<source>元素為<video>提供多個視頻源 ,如下是示例代碼:

 

<video controls>

<source src="video.mp4" type="video/mp4">

<source src="video.webm" type="video/webm">

您的瀏覽器不支持播放該視頻。

</video>

在學習這些基本語法的過程中,我通過不斷地實踐和修改代碼,逐漸熟悉了各個屬性的用法和效果。每一次成功地在網頁中插入圖像、音頻或視頻,都讓我感受到前端開發的魅力和樂趣,也為后續更深入的學習奠定了堅實的基礎 。

進階之路:屬性與細節探究

(一)圖像的高級屬性

在掌握了<img>標簽的基本用法后,我進一步探索了它的一些高級屬性 。title屬性是一個非常實用的屬性,當鼠標懸停在圖像上時,title屬性的值會以工具提示的形式顯示出來,為用戶提供關于圖像的額外信息 。比如,在一個展示旅游景點的網頁中,對于一張長城的圖片,可以設置<img src="great_wall.jpg" alt="長城" title="中國偉大的歷史建筑,萬里長城">,這樣當用戶鼠標懸停在圖片上時,就能看到關于長城的簡要介紹,提升了用戶體驗 。另一個比較重要的屬性是usemap,它用于將圖像指定為客戶端圖像映射(image - map),也就是可以在圖片上定義可點擊的區域,并為這些區域添加鏈接 。使用usemap屬性時,需要配合<map>元素一起使用 。例如,有一張校園地圖的圖片,想要實現點擊不同的建筑區域跳轉到對應的介紹頁面,可以這樣寫代碼:

 

<img src="campus_map.jpg" alt="校園地圖" usemap="#campusMap">

<map name="campusMap">

<area shape="rect" coords="100,100,200,200" href="library.html" alt="圖書館">

<area shape="circle" coords="300,300,50" href="teaching_building.html" alt="教學樓">

</map>

在上述代碼中,<img>標簽的usemap屬性值#campusMap與<map>標簽的name屬性值相對應,建立了圖像與圖像映射的關聯 。<area>標簽定義了圖像映射中的可點擊區域,shape屬性指定區域的形狀(這里分別為矩形rect和圓形circle),coords屬性根據形狀定義區域的坐標 ,href屬性指定點擊該區域后跳轉的鏈接地址 ,alt屬性提供了區域的替代文本 。通過這種方式,用戶在瀏覽網頁時,點擊校園地圖上的不同區域,就能快速跳轉到相應建筑的介紹頁面,大大增強了網頁的交互性 。

(二)音頻的特殊屬性

對于<audio>標簽,除了之前學習的基本屬性外,autoplay、loop、muted等屬性也有著特殊的用途 。autoplay屬性正如其名,設置后音頻會在頁面加載完成后自動播放 。在一些音樂播放網站或者需要自動播放背景音樂的網頁中,這個屬性就非常有用 。不過,正如前面提到的,現代瀏覽器為了避免自動播放音頻給用戶帶來困擾,對其進行了限制,通常只有在滿足一定條件(比如用戶與頁面進行了交互,或者音頻設置為靜音)時才會自動播放 。例如,一個音樂播放網頁可能會這樣設置:<audio src="background_music.mp3" controls autoplay muted>,這里結合了muted屬性,使音頻在自動播放時處于靜音狀態,這樣既實現了自動播放的功能,又不會打擾用戶 。loop屬性用于設置音頻循環播放,這在一些需要重復播放特定音頻的場景中很常見,比如一些教學音頻,希望學生能夠反復收聽 。使用loop屬性后,音頻播放完畢會自動重新開始播放 ,代碼示例為<audio src="teaching_audio.mp3" controls loop>。muted屬性則是將音頻設置為靜音狀態,除了與autoplay屬性配合使用外,也可以單獨使用,讓用戶可以自行選擇是否開啟聲音 ,如<audio src="music.mp3" controls muted> 。

(三)視頻的獨特屬性

<video>標簽的屬性也十分豐富,除了和音頻類似的autoplay、loop、muted屬性外,poster屬性是視頻特有的一個很實用的屬性 。poster用于指定一張圖片作為視頻的封面,當視頻還未開始播放、處于加載狀態或者暫停時,就會顯示poster屬性指定的圖片 。這對于提升用戶體驗和吸引用戶觀看視頻非常有幫助 。比如在視頻網站中,每個視頻都會展示一個吸引人的封面圖片,這個封面圖片就是通過poster屬性來設置的 。例如:<video src="movie.mp4" controls poster="movie_poster.jpg">,這里movie_poster.jpg就是視頻movie.mp4的封面圖片 。autoplay屬性設置視頻自動播放,同樣受到瀏覽器的限制,為了能自動播放,很多時候需要配合muted屬性 ,像一些短視頻平臺的自動播放視頻,大多是靜音自動播放的 ,代碼為<video src="short_video.mp4" controls autoplay muted> 。loop屬性讓視頻循環播放,適合一些展示性的視頻或者需要用戶反復觀看的教程類視頻 ,如<video src="tutorial_video.mp4" controls loop> 。通過對這些屬性的深入學習和實踐,我對 HTML 多媒體元素的理解和運用更加熟練,能夠根據不同的需求,靈活地設置音頻和視頻的播放效果 。

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

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

相關文章

循環不變量原則——螺旋矩陣

題目&#xff1a;螺旋矩陣 本題相較于螺旋矩陣II的不同之處是&#xff1a;螺旋矩陣II的矩陣是n行n列的方陣&#xff0c;而本題的矩陣并不一定是方陣。所以在遵循循環不變量原則遍歷完矩陣后&#xff0c;還會有一行或者一列沒有遍歷。 1、行多列少&#xff08;多一列沒遍歷&am…

【前端】Visual Studio Code安裝配置教程:下載、漢化、常用組件、基本操作

文章目錄 一、Visual Studio Code下載二、漢化三、常用組件1、Auto Rename Tag2、view-in-browser3、Live Server 四、基本操作五、感謝觀看&#xff01; 一、Visual Studio Code下載 下載官網&#xff1a;https://code.visualstudio.com/ 進入官網后點擊右上角的Download &…

Java對象的hashcode

在 Java 中&#xff0c;hashcode 和 equals 方法是 Object 類的兩個重要方法&#xff0c;它們在處理對象比較和哈希集合&#xff08;如 HashMap、HashSet&#xff09;時起著關鍵作用。對于equals大部分Java程序員都不陌生&#xff0c;它通常是比較兩個對象的內容(值)是否相等(雙…

Ubuntu22.04通過DKMS包安裝Intel WiFi系列適配器(網卡驅動)

下載驅動包 訪問 backport-iwlwifi-dkmshttps://launchpad.net/ubuntu/source/backport-iwlwifi-dkms 網站&#xff0c;找到適用于Ubuntu 22.04的update版本&#xff08;如backport-iwlwifi-dkms_xxxx_all.deb&#xff09;&#xff0c;下載至本地。 安裝驅動 在下載目錄中執行以…

深度學習--概率

1 基本概率論 1.1 假設我們擲骰子&#xff0c;想知道1而不是看到另一個數字的概率&#xff0c;如果骰子是公司&#xff0c;那么所有6個結果(1..6),都有相同的可能發生&#xff0c;因此&#xff0c;我們可以說1發生的概率為1/6. 然而現實生活中&#xff0c;對于我們從工廠收到的…

kaggle上經典泰坦尼克項目數據分析探索

之前了解在kaggle上這個項目很火&#xff0c;最近想要加強一下python數據分析&#xff0c;所以在kaggle上找到這個項目進行學習探索&#xff0c;下面是將一些學習資料以及過程整理出來。 一、首先我們了解一下項目背景以及如何找到這個項目。 kaggle項目地址: https://www.k…

《深度剖析:鴻蒙系統不同終端設備的UI自適應布局策略》

在萬物互聯的時代&#xff0c;鴻蒙系統以其獨特的分布式理念和強大的技術架構&#xff0c;迅速在智能終端領域嶄露頭角。隨著鴻蒙生態的不斷壯大&#xff0c;越來越多的開發者投身其中&#xff0c;致力于為用戶打造豐富多樣的應用體驗。然而&#xff0c;如何讓應用在不同終端設…

計算機網絡的軟件、硬件和組成

&#xff11;.計算機網絡的組成 計算機網絡是一個十分復雜的系統&#xff0c;在邏輯上可以分為完成數據通信的通信子網和進行數據處理的資源子網兩個部分。 通信子網 通信子網提供網絡通信的功能&#xff0c;可以完成網絡主機之間的數據傳輸、交換、通信控制和信號變換等通信…

告別低效人工統計!自動計算計劃進度

實時監控任務進度一直是項目管理中的一項巨大挑戰。 人工統計方式不僅耗時耗力&#xff0c;而且往往由于信息傳遞的延遲和人為誤差&#xff0c;導致無法實時獲得準確的項目進展信息。 這種不準確性可能掩蓋潛在的風險點&#xff0c;從而影響項目的整體進度和成果。 Ganttable …

樓宇自控系統的結構密碼:總線與分布式結構方式的差異與應用

在現代建筑中&#xff0c;為了實現高效、智能的管理&#xff0c;樓宇自控系統變得越來越重要。它就像建筑的 智能管家&#xff0c;可自動控制照明、空調、通風等各種機電設備&#xff0c;讓建筑運行更順暢&#xff0c;還能節省能源成本。而在樓宇自控系統里&#xff0c;有兩種關…

OpenWrt開發第4篇:設置開發板的IP-基于Raspberry Pi 4B開發板

文/指尖動聽知識庫-谷谷 文章為付費內容,商業行為,禁止私自轉載及抄襲,違者必究!!! 文章專欄:Openwrt開發-基于Raspberry Pi 4B開發板 有時候開發過程中經常會使用其他路由器,很多時候固件燒上去之后板子IP基本都是192.168.1.1,這時就需要修改板子的IP,下面介紹一下板…

Node.js系列(4)--微服務架構實踐

Node.js微服務架構實踐 &#x1f504; 引言 微服務架構已成為構建大規模Node.js應用的主流選擇。本文將深入探討Node.js微服務架構的設計與實現&#xff0c;包括服務拆分、服務治理、通信機制等方面&#xff0c;幫助開發者構建可擴展的微服務系統。 微服務架構概述 Node.js…

Docker逃逸

判斷是否再docker中 1.ls -a / (查看c根目錄查看是否有docker配置文件) 2.查看進程 如果在要逃逸到真實環境中&#xff1a; 特權模式進行docker逃逸&#xff1a;管理員執行eddocker run--privileg&#xff0c;如何判斷是否是特權模式&#xff08;&#xff09; 特權模式以…

Vite管理的Vue3項目中monaco editer的使用以及組件封裝

文章目錄 背景環境說明安裝流程以及組件封裝引入依賴封裝組件 外部使用實現效果 v-model實現原理 背景 做oj系統的時候,需要使用代碼編輯器,決定使用Monaco Editor&#xff0c;但是因為自身能力問題&#xff0c;讀不懂官網文檔&#xff0c;最終結合ai和網友的帖子成功引入&…

pdf文件分頁按需查看

pdf預覽本來打算粗暴點&#xff0c;一次性查看全部&#xff0c;但是一個pdf四五百頁導致手機端查看超出內存直接崩掉&#xff0c;崩掉會導致頁面瘋狂刷新&#xff0c;所以不得不進行優化 解決思路大致如下&#xff1a; canvas轉為blob格式以圖片的形式加載在頁面&#xff08;B…

算力100問?第92問:為什么各地熱衷建設算力中心?

目錄 1、宏觀分析 2、政府角度分析 3、投資者角度分析 在數字化浪潮中,各地對算力中心建設的熱情高漲,這一現象背后潛藏著諸多深層次的原因,涵蓋了經濟、科技、社會等多個維度,且彼此交織,共同驅動著這一發展趨勢。 1、宏觀分析 從經濟結構轉型的底層邏輯來看,全球經…

Redis 內存管理

Redis 內存管理 1. Redis 給緩存數據設置過期時間的作用 給緩存數據設置過期時間&#xff08;TTL, Time-To-Live&#xff09;有以下幾個重要作用&#xff1a; (1) 自動釋放內存 避免緩存數據無限增長&#xff0c;導致 Redis 內存溢出。例如&#xff0c;在 會話管理、短連接…

PyCharm中使用pip安裝PyTorch(從0開始僅需兩步)

無需 anaconda&#xff0c;只使用 pip 也可以在 PyCharm 集成環境中配置深度學習 PyTorch。 本文全部信息及示范來自 PyTorch 官網。 以防你是super小白&#xff1a; PyCharm 中的命令是在 Python Console 中運行&#xff0c;界面左下角豎排圖標第一個。 1. 安裝前置包 numpy …

掌握新編程語言的秘訣:利用 AI 快速上手 Python、Go、Java 和 Rust

網羅開發 &#xff08;小紅書、快手、視頻號同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企業從事人工智能項目研發管理工作&#xff0c;平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

如何理解java中Stream流?

在Java中&#xff0c;Stream 是 Java 8 引入的一個強大API&#xff0c;用于處理集合&#xff08;如 List、Set、Map 等&#xff09;數據的流式操作。它提供了一種聲明式、函數式的編程風格&#xff0c;可以高效地進行過濾、映射、排序、聚合等操作。 Stream 的核心概念 流&…