TML是前端工程師的必備技能,相信前端開發者對很多HTML標簽已經非常熟悉了。但是有一些HTML標簽絕大多數開發者都沒用過,這些標簽有助于正確使用 HTML5 的語義化開發。今天小編就幫大家整理一下不常用的那些HTML標簽。
<details>標簽指定了用戶可以按需查看或隱藏的內容,可以用它來創建能被用戶關閉與打開的小工具。在語義上,你可以在其中使用任何類型的內容,不過如果沒有對它設置 open 屬性,內容將不可見。
<details open><p>在預定時需要信用卡</p></details>
<dialog>定義了一個對話框元素或窗口。
<dialog open><p>歡迎來到我們的酒店</p></dialog>
<mark>標簽定義了被標記的文本,可以用于將你文本中的一部分高亮。
<p>在<mark>預定</mark>時需要信用卡</p>
<summary>標簽為<details>定義了一個可見的標題。點擊這個標題可以顯示或隱藏 <details> 內容。
<details><summary>支付條件</summary><p>在預定時需要信用卡</p></details>
<time>標簽定義了一個人類可讀的日期或者時間。這個元素還能用以機器可讀的方式對日期或時間進行編碼,以便用戶的工具或軟件將生日提醒、計劃事件之類的時間添加到用戶的日歷中。此外,還能讓搜索引擎產生更智能的搜索結果。
<p>自助早餐于 <time>7.00 AM</time> 在餐廳開始</p>
<p><time datetime="2018-06-20T19:00">6 月 20 日晚上 7 點</time>在大廳舉行音樂會</p>
你可以用<datalist>元素來定義<input>標簽中用于有效選擇的列表。這個組件在各個瀏覽器中的樣子略有不同,但相同的是在字段右邊顯示一個小下拉箭頭,提示此字段可以進行選擇。
<datalist><option value="Master Card"><option value="Visa"><option value="American Express"></datalist>
HTML 元素會顯示一個指示器,用于顯示某個任務的完成進度,通常顯示為進度條。
<progress value="70" max="100">70 %</progress>
希望這些不常用的標簽能幫到你,可以有機會炫技一下~ 如果你覺得本篇文章對你有幫助,歡迎點贊,評論,轉發。
增的結構標簽
section元素
表示頁面中的一個內容區塊,比如章節、頁眉、頁腳或頁面的其他部分。可以和h1、 h2...等元素結合起來使用,表示文檔結構。
例:HTML5中<section>...</section>;HTML4中<div>...</div>。
article元素
表示頁面中一塊與上下文不相關的獨立內容。比如一篇文章。
aside元素
表示article元素內容之外的、與article元素內容相關的輔助信息。
header元素
表示頁面中一個內容區塊或真個頁面的標題。
hgroup元素
表示對真個頁面或頁面中的一個內容區塊的標題進行組合。
footer元素
表示整個頁面或頁面中一個內容區塊的腳注。一般來說,他會包含創作者的姓名、創作日期以及創作者的聯系信息。
nav元素
表示頁面中導航鏈接的部分。
figure元素
表示一段獨立的流內容,一般表示文檔主體流內容中的一個獨立單元。使用figcaption元素為figure元素組添加標題。
figure 定義媒介內容的分組, 以及它們的標題。
figcaption 定義 figure 元素的標題。
例如:
<figure>
<figcaption>PRC</figcaption>
<p>The People's Republic of China was born in 1949</p>
</figure>
HTML4中常寫作
<dl>
<h1>prc</h1>
<p>The People's Republic of China was born in 1949</p>
</dl>
新增的其他元素
video元素
定義視頻。像電影片段或其他視頻流。例:
<video src="movie.ogg" controls="controls">video元素</video>
HTML4中寫法:
<object type="video/ogg" data="move.ogv">
<param name="src" value="movie.ogv">
</object>
audio元素
定義音頻。如音樂或其他音頻流。例:
<audio src="someaudio.wav">audio元素</audio>
html4中寫法:
<object tyle="application/ogg" data="someaudio.wav">
<param name="src" value="someaudio.wav">
</object>
embed元素
用來嵌入內容(包括各種媒體)。格式可以是Midi、Wav、AIFF、AU、MP3,flash等。例:<embed src="flash.swf" />
HTML4中代碼示例<object data="flash.swf" type="application/x-shockwave-flash"><object>
mark元素
主要用來在視覺上向用戶呈現哪些需要突出顯示或高亮顯示的文字。典型應用搜索結果中高亮顯示搜素關鍵字。
HTML5<mark></mark>;HTML4 <span></span>。
progress元素
表示運行中的進程,可以使用progress元素顯示JavaScript中耗時時間函數的進程。等待中……、請稍后等。<progress></progress>。
time元素
表示日期或時間,也可以兩者同時。
ruby元素
定義 ruby 注釋(中文注音或字符)。
與 <ruby> 以及 <rt> 標簽一同使用。ruby 元素由一個或多個字符(需要一個解釋/發音)和一個提供該信息的 rt 元素組成,
還包括可選的 rp 元素,定義當瀏覽器不支持 "ruby" 元素時顯示的內容。
<ruby>
漢朝<rt><rp>(</rp>西漢和東漢<rp>)</rp></rt>
</ruby>
rt元素
定義字符(中文注音或字符)的解釋或發音。
rp元素
在 ruby 注釋中使用, 以定義不支持 ruby 元素的瀏覽器所顯示的內容。
wbr元素
表示軟換行。與br元素的區別:br元素表示此處必須換行;wbr表示瀏覽器窗口或父級元素足弓寬時(沒必要換行時),
不換行,而寬度不夠時主動在此處換行。
canvas元素
定義圖形,比如圖表和其他圖像。<canvas> 元素只是圖形容器(畫布),必須使用腳本來繪制圖形。
<canvas id="myCanvas"></canvas>
<script type="text/javascript">
var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);
</script>
command元素 各版本瀏覽器支持有問題
表示命令按鈕,比如單選按鈕、復選框或按鈕。
只有當 command 元素位于 menu 元素內時,該元素才是可見的。否則不會顯示這個元素,但是可以用它規定鍵盤快捷鍵。。
<menu>
<command onclick="alert('Hello World')">
Click Me!</command>
</menu>
details標簽
用于描述文檔或文檔某個部分的細節 。
可與 summary 標簽配合使用,summary可以為 details 定義標題。
標題是可見的,用戶點擊標題時,會顯示出 details。summary應該是details的第一個子元素。
<details>
<summary>迪麗熱巴</summary>
<p>迪麗熱巴(Dilraba),1992年6月3日出生于新疆烏魯木齊市,中國內地影視女演員。</p>
</details>
fieldset標簽
組合表單中的相關元素
fieldset 標簽用于從邏輯上將表單中的元素組合起來。
legend 標簽為 fieldset 元素定義標題。
<form>
<fieldset>
<legend>健康信息</legend>
身高:<input type="text" />
體重:<input type="text" />
</fieldset>
</form>
datalist標簽
定義選項列表。請與 input 元素配合使用該元素,來定義 input 可能的值。
datalist 及其選項不會被顯示出來,它僅僅是合法的輸入值列表。使用 input 元素的 list 屬性來綁定 datalist。
<input id="myCar" list="cars" />
<datalist id="cars">
<option value="BMW">
<option value="Ford">
<option value="Volvo">
</datalist>
datagrid標簽 如何用?
定義可選數據的列表。datagrid 作為樹列表來顯示。
如果把 multiple 屬性設置為 true,則可以在列表中選取一個以上的項目。
keygen標簽 如何用?
標簽規定用于表單的密鑰對生成器字段。
當提交表單時,私鑰存儲在本地,公鑰發送到服務器。
<form action="demo_keygen.asp" method="get">
Username: <input type="text" name="usr_name" />
Encryption: <keygen name="security" />
<input type="submit" />
</form>
output標簽
定義不同類型的輸出,比如腳本的輸出。
<form action="form_action.asp" method="get" name="sumform">
<output name="sum"></output>
</form>
source標簽
標簽為媒介元素(比如 <video> 和 <audio>)定義媒介資源。
menu標簽
定義菜單列表。當希望列出表單控件時使用該標簽。注意與nav的區別,menu專門用于表單控件。
<menu>
<li><input type="checkbox" />Red</li>
<li><input type="checkbox" />blue</li>
</menu>
abbr: 標記一個縮寫
The <abbr title="People's Republic of China">PRC</abbr> was founded in 1949.
顯示結果
The PRC was founded in 1949.
mark標簽
定義有記號的文本。
<mark>有記號的文本</mark>
progress 定義任何類型的任務的進度。
<progress min="0" max="100" value="60"></progress>
021年你需要知道的HTML標簽和屬性
Web開發人員都在廣泛的使用HTML。無論你使用什么框架或者選擇哪個后端語言,框架在變,但是HTML始終如一。盡管被廣泛使用,但還是有一些標簽或者屬性是大部分開發者不熟知的。雖然現在有很多的模版引擎供我們使用,但是樂字節教育的老師和我們說還是需要盡可能的熟練掌握HTML內容,就像CSS一樣。
在我看來,最好盡可能使用HTML特性來實現我們的功能,而不是使用JavaScript實現相同的功能,盡管我承認編寫HTML可能會是重復的和無聊的。
盡管許多開發人員每天都在使用HTML,但他們并沒有嘗試改進自己的項目,也沒有真正利用HTML的一些鮮為人知的特性。
下面這5個通過HTML標簽/屬性實現的功能我覺得需要了解一下:
圖片懶加載
圖片懶加載可以幫助提升網站的性能和響應能力。圖片懶加載可以避免立即加載那些不在屏幕中立即顯示的圖片素材,當用戶滾動臨近圖片時再去開始加載。
換言之,當用戶滾動到圖片出現時再進行加載,否則不加載。這就降低了屏幕內容展示過程中的圖片素材的請求數量,提升了站點性能。
往往我們都是通過javascript來實現的,通過監聽頁面滾動事件來確定加載對應的資源。但是,在不完全考慮兼容性的場景下,我們其實可以直接通過HTML來直接實現。
注:本篇的提到的標簽和屬性的兼容性需要大家根據實際場景來選取是否使用
可以通過為圖片文件添加loading="lazy"的屬性來實現:
輸入提示
當用戶在進行輸入搜索功能時,如果能夠給出有效的提示,這會大大提升用戶體驗。輸入建議和自動完成功能現在到處可見,我們可以使用Javascript添加輸入建議,方法是在輸入框上設置事件偵聽器,然后將搜索到的關鍵詞與預定義的建議相匹配。
其實,HTML也是能夠讓我們來實現預定義輸入建議功能的,通過<datalist>標簽來實現。需要注意的是,使用時這個標簽的id屬性需要和input元素的list屬性一致。
Picture標簽
你是否遇到過在不同場景或者不同尺寸的設備上面的時候,圖片展示適配問題呢?我想大家都遇到過。
針對只有一個尺寸的圖片素材的時候,我們往往可以通過CSS的object-fit屬性來進行裁切適配。但是有些時候需要針對不同的分辨率來顯示不同尺寸的圖片的場景的時候,我們是否可以直接通過HTML來實現呢?
HTML提供了<picture>標簽,允許我們來添加多張圖片資源,并且根據不同的分辨率需求來展示不同的圖片。
我們可以定義不同區間的最小分辨率來確定圖片素材,這個標簽的使用有些類似<audio>和<video>標簽。
Base URL
當我們的頁面有大量的錨點跳轉或者靜態資源加載時,并且這些跳轉或者資源都在統一的域名的場景時,我們可以通過<base>標簽來簡化這個處理。
例如,我們有一個列表需要跳轉到微博的不同大V的主頁,我們就可以通過設置來簡化跳轉路徑
<base>標記必須具有href和target屬性。
頁面重定向(刷新)
當我們希望實現一段時間后或者是立即重定向到另一個頁面的功能時,我們可以直接通過HTML來實現。
我們經常會遇到有些站點會有這樣一個功能,“5s后頁面將跳轉”。這個交互可以嵌入到HTML中,直接通過<meta>標簽,設置http-equiv="refresh"來實現
這里content屬性指定了重定向發生的秒數。值得一提的是,盡管谷歌聲稱這種形式的重定向和其他的重定向方式一樣可用,但是使用這種類型的重定向其實并不是那么的優雅,往往會顯得很突兀。
因此,最好在某些特殊的情況下使用它,比如在長時間用戶不活動之后再重定向到目標頁面。
后記
HTML和CSS是非常強大的,哪怕我們僅僅使用這兩種技術也能創建出一些奇妙的網站。雖然它們的使用量很大很普遍,還是有很多的開發者并沒有真正的深入了解他們,還有很多的內容需要我們深入的去學習和理解,實踐,有很多的技巧等待著我們去發現。
文章轉載至樂字節
最后給大家推薦幾個b站超詳細的Java自學課:
Servlet入門教程BV1D5411373E
Vue、Vuejs教程,BV19V41177od
SpringBoot+Vue項目實戰BV1o64y117qQ
*請認真填寫需求信息,我們會在24小時內與您取得聯系。