HTML5不是新事物。自從最初發布(2008年1月)以來,我們一直在使用它的一些功能。後來,我再次仔細查看了HTML5功能列表。看到我發現了什麼?到目前為止,我還沒有真正使用過它!
在本文中,我列出了十個HTML5我過去沒用過但現在發現有用的功能。我還創建了一個工作示例流程並託管在Netlify。希望您也覺得它有用。
點擊演示實例:https://html5-tips.netlify.app/
太好了,讓我們開始介紹它們的解釋,快速碼起來吧。您可以在Twitter上關注我,以了解我將來的文章和工作。
🔥 Details Tag<details>標籤提供隨需應變的細節內容給用戶。如果需要按需向用戶顯示內容,請使用此標記。默認情況下,詳細內容是關閉的。打開後,它將展開並顯示其中的內容。
<summary>標籤與<details>一起使用,來為它指定一個可見的標題。
Code<details>
<summary>Click Here to get the user details</summary>
<table>
<tr>
<th>#</th>
<th>Name</th>
<th>Location</th>
<th>Job</th>
</tr>
<tr>
<td>1</td>
<td>Adam</td>
<td>Huston</td>
<td>UI/UX</td>
</tr>
</table>
`` </details>
效果演示您可以從這裡開始查看演示:https : //html5-tips.netlify.app/details/index.html
小提示在GitHub Readme中使用它來顯示需要的詳細信息。隱藏大量的文字並僅按需顯示它。酷吧?
點擊查看例子:https://github.com/atapas/notifyme#properties
🔥 Content Editablecontenteditable是可以在元素上設置以使內容可編輯的屬性
可以與DIV,P,UL等元素一起使用。您必須像這樣指定它:<element contenteditable="true|false">。
注意,如果contenteditable未在元素上設置屬性,則會從其父級繼承該屬性。
Code<h2> Shoppping List(Content Editable) </h2>
<ul class="content-editable" contenteditable="true">
<li> 1. Milk </li>
<li> 2. Bread </li>
<li> 3. Honey </li>
</ul>
效果演示您可以從這裡開始查看演示:https://html5-tips.netlify.app/content-editable/index.html
小提示可以使span或div元素可編輯,並且可以使用CSS樣式向其添加任何豐富的內容。這將比使用input 輸入框更好。試一試!
🔥 Map<map>標籤可以幫助定義image map,image map是其中具有一個或多個可單擊區域的任何圖像。map標籤與<area>標籤一起確定可點擊區域。可點擊區域可以是矩形,圓形或多邊形區域中的任意一種。如果您未指定任何形狀,它將默認整個圖像。
Code<div>
<img src="circus.jpg" width="500" height="500" alt="Circus" usemap="#circusmap">
<map name="circusmap">
<area shape="rect" coords="67,114,207,254" href="elephant.htm">
<area shape="rect" coords="222,141,318, 256" href="lion.htm">
<area shape="rect" coords="343,111,455, 267" href="horse.htm">
<area shape="rect" coords="35,328,143,500" href="clown.htm">
<area shape="circle" coords="426,409,100" href="clown.htm">
</map>
</div>
效果演示您可以從這裡開始查看演示:https://html5-tips.netlify.app/map/index.html
小提示圖像貼圖有其自身的缺點,但是您可以將其用於視覺演示。我們可以用全家福照片嘗試一下並深入研究個人照片
🔥 Mark Content使用<mark>標記突出顯示任何文本內容。
Code<p> Did you know, you can <mark>"Highlight something interesting"</mark> just with an HTML tag? </p>
效果演示您可以從這裡開始查看演示:https://html5-tips.netlify.app/mark/index.html
小提示您始終可以使用CSS更改突出顯示顏色,
mark {
background-color: green;
color: #FFFFFF;
}
🔥 data-* attributedata-*屬性用於存儲頁面或應用程式專用的自定義數據。可以在JavaScript代碼中使用存儲的數據來創建更多的用戶體驗。
data- *屬性由兩部分組成:
屬性名稱不得包含任何大寫字母,並且前綴「 data-」後必須至少長一個字符Code<h2> Know data attribute </h2>
<div
class="data-attribute"
id="data-attr"
data-custom-attr="You are just Awesome!">
I have a hidden secret!
</div>
<button onclick="reveal()">Reveal</button>function reveal() {
let dataDiv = document.getElementById('data-attr');
let value = dataDiv.dataset['customAttr'];
document.getElementById('msg').innerHTML = `<mark>${value}</mark>`;
}注意:要在JavaScript中讀取這些屬性的值,可以使用getAttribute(),但是規範定義了一種更簡單的方法:使用dataset屬性。
效果演示您可以從這裡開始查看演示:https://html5-tips.netlify.app/data-attribute/index.html
小提示您可以使用它在頁面中存儲一些數據,然後使用REST調用將其傳遞給伺服器。
🔥 Output Tag<output>標籤表示運算的結果。通常,此元素定義一個區域,該區域將用於顯示某些計算得出的文本。
Code<form oninput="x.value=parseInt(a.value) * parseInt(b.value)">
<input type="number" id="a" value="0">
* <input type="number" id="b" value="0">
= <output name="x" for="a b"></output>
</form>
效果演示您可以從這裡開始查看演示:https://html5-tips.netlify.app/output/index.html
小提示如果要在客戶端JavaScript中執行任何計算,並且希望結果反映在頁面上,請使用<output>標記。您不必走動使用可獲取元素的額外步驟:getElementById()。
🔥 Datalist<datalist>標籤指定了預先定義的選項列表,並允許用戶添加更多。它提供了一項autocomplete功能,使您可以提前輸入所需的選項。
Code<form action="" method="get">
<label for="fruit">Choose your fruit from the list:</label>
<input list="fruits" name="fruit" id="fruit">
<datalist id="fruits">
<option value="Apple">
<option value="Orange">
<option value="Banana">
<option value="Mango">
<option value="Avacado">
</datalist>
<input type="submit">
</form>
效果演示您可以從這裡開始查看演示:https://html5-tips.netlify.app/datalist/index.html
小提示與傳統<select>-<option>標籤有何不同?Select標記用於從選項中選擇一個或多個項目,您需要瀏覽列表以進行選擇。Datalist是具有自動完成支持的高級功能。也就是說Datalist標籤不僅可以選擇,還可以輸入
🔥 Range(Slider)range具有滑塊,範圍選擇的輸入類型
Code<form method="post">
<input
type="range"
name="range"
min="0"
max="100"
step="1"
value=""
onchange="changeValue(event)"/>
</form>
<div class="range">
<output id="output" name="result"> </output>
</div>
效果演示您可以從這裡開始查看演示:https://html5-tips.netlify.app/range/index.html
小提示在html5中,沒有叫slider的東西
🔥 Meter使用<meter>標籤測量給定範圍內的數據。
Code`<form method="post">
<input
type="range"
name="range"
min="0"
max="100"
step="1"
value=""
onchange="changeValue(event)"/>
</form>
<div class="range">
<output id="output" name="result"> </output>
</div> `
效果演示您可以從這裡開始查看演示:https://html5-tips.netlify.app/meter/index.html
小提示請勿將<meter>標籤用於進度條。我們有<Progress>HTML5的標記。
<label for="file">Downloading progress:</label>
<progress id="file" value="32" max="100"> 32% </progress>
下一步是什麼?好吧,我敢肯定,我留下了一些有用的東西。請提供有關此文章以及您對HTML5的學習的評論。
如果對您有用,請點讚/分享,這樣也可以吸引其他人。我對UI / UX充滿熱情,並喜歡通過文章分享我的知識。
文章首發於 微信公眾號《前端陽光》