1. 程式人生 > >HTML5 新標籤

HTML5 新標籤

1.1 HTML 5 新元素

  • Header - 可表示介紹內容的容器,或者一組導航連結。
  • Nav - 標籤的內容主要用於導航。
  • Article - 標識頁面中的主體內容。以部落格為例,每個帖子都是一個重要內容,可採用 Article 標識每一個帖子。
  • Section - 用於標記頁面上的重要的部分。該標記類似於將文件分為多個章節。
  • Aside - 表示和頁面主要內容有關,但不是頁面的一部分,經常表示一個相關連結。
  • Footer - 和 Header 相對,表示文件或者章節的頁尾,比如版權資訊放在此標記中。

傳統 DIV 方式佈局

<body>
    <!-- 頁頭 -->
<div class='header'></header> <!-- 導航 --> <div class='nav'></div> <!-- 主體內容 --> <div class='main'> <!-- 文章 --> <div class='article'> <!-- 節 --> <div class='section'></div>
</div> <!-- 邊欄 --> <div class='sidebar'></div> </div> <!-- 頁尾 --> <div class='footer'></div> </body>

使用 HTML 5 新元素實現佈局

<body>
    <header></header>
    <nav></nav>
    <div>
        <article
>
<section></section> </article> <aside></aside> </div> <footer></footer> </body>

1.2 表單的增強應用

在 HTML 4 中,提供了一些簡單的表單元素應對基本輸入。對於特定型別的輸入,比如日期時間的輸入,互動體驗無法滿足需求。因此,為了得到更好的效果,只能使用 javascript 編寫元件實現。在 HTML 5 中得到了完善,增加了新的表單元素來提供更多的輸入型別。

(1)Input 的 Type 屬性擴充

  • search - 呈現一個搜尋框。
  • tel - 輸入電話號碼,可以採用 pattern 和 maxlength 來限定輸入合適
<input type='tel' name='tel' value="" placeholder="請輸入手機號碼" pattern='1[3-8][0-9]{9}' title='請輸入11位手機號'>
  • url - 輸入 URL 地址。
  • email - 輸入電子郵箱地址。
  • date - 輸入日期。
  • color - 輸入顏色。
  • number - 輸入數字。
  • range - 滑塊輸入

(2)Input 通過屬性進行表單驗證

  • required - 標記當前元素為必填。
  • pattern - 採用正則表示式驗證表單輸入。

(3)Input 元素的其他有用屬性

  • autofocus - 當頁面載入時,自動聚焦到當前的 input 元素。
  • form - 將 input 元素和特定的 Form 表單關聯。
  • placeholder - 輸入佔位符,提示使用者輸入。

(4)HTML 5 新元素 和 特殊屬性 contenteditable

  • progress - 元素表示進度條。
<progress value='30' max='100'></progress>
  • meter - 元素表示標尺。最大值 max 預設為 1。
<meter value="3" min="0" max="10">3/10</meter>
<meter value="0.6">60%</meter>
  • HTML 5 特殊屬性 contenteditable,通過該屬性,可以讓一個普通元素可編輯。
<p contenteditable="true">這裡的內容式可編輯的</p>

1.3 使用音訊和視訊

(1)audio - 音訊標籤

<audio controls>
    <source src="vincent.mp3" />
    <source src="vincent.ogg" />
    您的瀏覽器不支援 audio 標籤
</audio>

audio 控制元素行為的屬性如下

  • controls - 該屬性控制,是否顯示標準的音訊空間。
  • autoplay - 是否自動播放。預設 false。
  • loop - 是否迴圈播放。預設 false。
  • preload - 預先載入的方式。有三種情況:none 表示不預載入;metadata 只加載音訊的元資料;auto 表示預載入整個音訊。預設 auto。
  • volum - 音量,值在 0 - 1 之間

播放和暫停音訊的方法

var audio = document.getElementById('audio')
audio.play() // 播放
audio.pause() // 暫停

(2)video - 視訊標籤

currentTime 控制開始播放的時間

<video width="400" height="300" controls currentTime='5'>

    <source src="dizzy.mp4#t=5" type="video/mp4" />  <!-- 從 5s 開始 -->
    <source src="dizzy.ogv#t=5,10" type="video/ogg" /> <!-- 從 5s 到 10s -->
    <source src="dizzy.webm#t=,15" type="video/webm"> <!-- 到 15s 結束 -->
    <p>您的瀏覽器不支援 HTML 5 視訊</p>
</video>