1. 程式人生 > >H5 語義化標籤

H5 語義化標籤

語義化標籤的主要是為了解決以下問題:

  • 前端程式碼可讀性
  • 程式碼維護成本
  • SEO優化

Html的標籤可以參考以下字典:

http://www.w3school.com.cn/html5/html5_reference.asp

這裡我們用一個簡單的DEMO去理解這些語義化的H5標籤,當然,這個DEMO中也沒辦法cover到所有的標籤,不過對於在有限的範圍內去了解語義化的作用,小編覺得已經綽綽有餘了

這裡的DEMO是一個微信名片,如圖所示,當然這裡面也增加了一些別的內容,也是為了方便的理解H5標籤的語義化作用

1.首先是頁面的基本佈局,我們使用<header>
,<footer>,<section>來對頁面整體佈局

這裡來說一下header,footer,section的作用

header : 定義文件的頁面組合,通常是一些引導和導航資訊。

footer : 定義 section 或 document 的頁尾

section : 定義文件中的節(section、區段)。比如章節、頁首、頁尾或文件中的其他部分

2.接下里我們看下header裡面有什麼,其實是對這個頁面目的的一個簡要介紹,這段介紹包括一個主標題和副標題,這裡我們使用<hgroup>

<header>
    <hgroup>
        <h1>我們以微信的一個使用者名稱片為例</h1>
        <h2>演示H5常用的語義化標籤</h2>
    </hgroup>
</header>

hgroup : 用於對網頁或區段的標題元素(h1-h6)進行組合

3.頁面主要的內容一共有三塊,包括使用者的基本資訊,使用者的朋友圈等額外資訊的縮圖,以及使用者可執行的操作,在每個塊上方小編也額外加入了一段簡介,這裡使用了<details><summary>來顯示介紹資訊

<details>
    <summary>基本資訊</summary>
    使用者的基本資訊
</details>

details : 標籤用於描述文件或文件某個部分的細節

summary

: 標籤包含 details 元素的標題,"details" 元素用於描述有關文件或文件片段的詳細資訊

4.接下來再看看footer中包含什麼,footer中包含小編的郵箱和頁尾的版權宣告,這裡小編使用了<address><small>

<footer>
    <address>[email protected]</address>
    <small>版權所有 © 2018-2019 貓頭鷹的巢</small>
</footer>

address : 標籤定義文件作者或擁有者的聯絡資訊。

如果 <address> 元素位於 <article> 元素內部,則它表示該文章作者或擁有者的聯絡資訊。

通常的做法是將 address 元素新增到網頁的頭部或底部

small : 標籤將旁註 (side comments) 呈現為小型文字。

免責宣告、注意事項、法律限制或版權宣告的特徵通常都是小型文字。小型文字有時也用於新聞來源、許可要求。

對於由 em 元素強調過的或由 strong 元素標記為重要的文字,small 元素不會取消對文字的強調,也不會降低這些文字的重要性。

當然,H5還有包含其他的標籤,比如像<picture>,<progress>,<time>,<vedio>,<audio>,<aside>,<canvas>等等,這裡在小編的這個例子中可能沒辦法一一列舉出來,看官們還是可以多多參考下文件,這些新標籤的出現也是為了能夠更好的方便開發者去開發前端頁面,即使在脫離CSS的情況下,也能呈現一個很好的文件結構,當然也有些雞肋的標籤,不過這些都是仁者見仁,智者見智,多多使用才能夠更好地拓展咱們的視野和經驗!

 

最後是小編html頁面整體的程式碼,就不放CSS了,理解下文件結構就好!

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="testh5.css">
    <title>H5 Test</title>
</head>
<body>
    <header>
        <hgroup>
            <h1>我們以微信的一個使用者名稱片為例</h1>
            <h2>演示H5常用的語義化標籤</h2>
        </hgroup>
    </header>
    <details>
        <summary>基本資訊</summary>
        使用者的基本資訊
    </details>
    <section class = "basic-info-container">
        <img src="icon.jpg" alt="" width="50px" height="50px" class = "avater">
        <ul>
            <li>
                <strong>貓頭鷹的巢</strong>
            </li>
            <li>
                <span>暱稱:</span>
                <span>胖啄木鳥</span>
                <i class = "sex"></i>
            </li>
            <li>
                <span>微訊號:</span>
                <span>kameleonX</span>
            </li>
            <li>
                <span>地區:</span>
                <span>遼寧 大連</span>
            </li>
        </ul>
    </section>
    <details>
        <summary>展示資訊</summary>
        使用者的朋友圈縮圖
    </details>
    <section class = "display-info-container">
        <div class = "custom-sign">
            <span>個性簽名</span>
            <p>沒心沒肺的活著</p>
        </div>
        <hr>
        <div class = "pengyouquan">
            <span>朋友圈</span>
            <ul>
                <li>
                    <img src="react.jpg" alt="" width="45" height="45">
                </li>
                <li>
                    <img src="angular.jpg" alt="" width="45" height="45">
                </li>
            </ul>
            <i class = "arrow"></i>
        </div>
        <hr>
        <div class = "more">
            <span>更多資訊</span>
            <ul>
                <li>
                    <img src="baidu.png" alt="" width="25" height="25">
                </li>
                <li>
                    <img src="bilibili.png" alt="" width="25" height="25">
                </li>
            </ul>
            <i class = "arrow"></i>
        </div>
    </section>
    <details>
        <summary>操作按鈕</summary>
        使用者的可執行的操作
    </details>
    <section class = "operate-container">
        <div class = "button">
            <i class = "message"></i>發訊息
        </div>
        <hr>
        <div class = "button">
            <i class = "vedio"></i>音視訊通話
        </div>
    </section>
    <footer>
        <address>[email protected]</address>
        <small>版權所有 © 2018-2019 貓頭鷹的巢</small>
    </footer>
</body>
</html>