HTML5 新標籤
阿新 • • 發佈:2019-02-18
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>