一、HTML5語法
沿用了HTML的語法(已往過去的語法,是SGML語法的一個子集),更簡潔,更人性化。
1.DOCTYPE及字符編碼
① DOCTYPE:<!doctype html>
② 字符編碼:<meta charset="utf-8">
③ 給文檔指定語言:<html lang="zh-CN">
2.大小寫都可以
① 目的是為了兼容更多的文檔,在HTML5里不區分大小寫
建議:寫代碼最好規范,最好小寫
3.布爾值
① <input type="checkbox" checked/>
在這里checked寫上就表示true,如果不寫就表示false。而不用像HTML4中要寫成checked="checked"了。
4.省略引號
① <input type="text" />
② <input type='text'>
③ <input type=text>
上面三種寫法都可以,當然如果屬性值中出現空格,就必須寫引號或雙引號
建議:屬性中,引號最好是雙引號
1、不允許寫結束符的標簽:area , basebr , col, command , embed , hr , img , input , keygen , link , meta , param , source , track , wbr<xx/>
2、可以省略結束符的標簽:li , dt , dd , p , rt , optgroup , colgroup , thread , tbody , tr , td , th省略</XXX>
3、可以完全省略的標簽:html , head , body , colgroup , tbody
二、增加標簽:
1、結構標簽
(1)section:獨立內容區塊,可以用h1~h6組成大綱,表示文檔結構,也可以有章節、頁眉、頁腳或頁眉的其他部分;
(2)article:特殊獨立區塊,表示這篇頁眉中的核心內容;
(3)aside:標簽內容之外與標簽內容相關的輔助信息;
(4)header:某個區塊的頭部信息/標題;
(5)hgroup:頭部信息/標題的補充內容;
(6)footer:底部信息;
(7)nav
(8)figure:獨立的單元,例如某個有圖片與內容的新聞塊。
2、表單標簽
(1)email:必須輸入郵件;
(2)url:必須輸入url地址;
(3)number:必須輸入數值;
(4)range:必須輸入一定范圍內的數值;
(5)Date Pickers:日期選擇器;
a.date:選取日、月、年
b.month:選取月、年
c.week:選取周和年
d.time:選取時間(小時和分鐘)
e.datetime:選取時間、日、月、年(UTC時間)
f.datetime-local:選取時間、日、月、年(本地時間)
(6)search:搜索常規的文本域;
(7)color
3、媒體標簽
(1)video:視頻
(2)audio:音頻
(3)embed:嵌入內容(包括各種媒體),Midi、Wav、AU、MP3、Flash、AIFF等。
4、其他功能標簽
(1)mark:標注(像熒光筆做筆記)
(2)progress:進度條;<progress max="最大進度條的值" value="當前進度條的值">
(3)time:數據標簽,給搜索引擎使用;
發布日期<time datetime="2014-12-25T09:00">9:00</time>
更新日期<time datetime="2015-01-23T04:00" pubdate>4:00</time>
(4)ruby和rt:對某一個字進行注釋;<ruby><rt>注釋內容</rt><rp>瀏覽器不支持時如何顯示</rp></ruby>
(5)wbr:軟換行,頁面寬度到需要換行時換行;
(6)canvas:使用JS代碼做內容進行圖像繪制;
(7)command:按鈕;
(8)deteils :展開菜單;
(9)dateilst:文本域下拉提示;
(10)keygen:加密;
三、新增屬性
manifest屬性:定義頁面需要用到的離線應用文件,一般放在<html>標簽里
charset屬性:meta屬性之一,定義頁面的字符集
sizes屬性:<link>新增屬性,當link的rel="icon"時,用以設置圖標大小
base屬性:<base href="http://localhost/" target="_blank">表示當在新窗口打開一個頁面時,會將href中的內容作為前綴添加到地址前
defer屬性:script標簽屬性,表示腳本加載完畢后,只有當頁面也加載完畢才執行(推遲執行)
async屬性:script標簽屬性,腳本加載完畢后馬上執行(運行過程中瀏覽器會解析下面的內容),即使頁面還沒有加載完畢(異步執行)
media屬性:<a>
元素屬性:表示對何種設備進行優化
hreflang屬性:<a>
的屬性,表示超鏈接指向的網址使用的語言
ref屬性:<a>
的屬性,定義超鏈接是否是外部鏈接
reversed屬性:<ol>
的屬性,定義序號是否倒敘
start屬性:<ol>
的屬性,定義序號的起始值
scoped屬性:內嵌CSS樣式的屬性,定義該樣式只局限于擁有該內嵌樣式的元素,適用于單頁開發
seamless:<iframe>
的屬性,定義該框架沒有邊框沒有邊距
srcdoc:<iframe>
的屬性,定義該框架的內容,會覆蓋src屬性的內容
sandbox:<iframe>
的屬性,定義該框架在安全級別上受到嚴格限制,比如不允許打開框架中的超鏈接、禁止提交表單,禁止運行JavaScript等,相當于將框架中的內容設置為異源(不能跨域訪問)
四、 HTML5全局屬性:
data-yourvalue、hidden、Spenllecheck、tabindex、contenteditable、desginMode;
全局屬性:
1.可直接在標簽里插入的:
data-自定義屬性名字;
hidden(直接放上去就是隱藏);
spellcheck="true"(語法糾錯);
tabindex="1"(Tab跳轉順序);
contenteditable="true"(可編輯狀態,單擊內容,可修改);
2.在JavaScript里插入的
window.document.designMode = 'on'(JavaScript的全局屬性,整個頁面的文本都可以編輯了);
五、綜合案例
1、HTML5 <section> 元素
<section> 標簽定義文檔中的節(section、區段)。比如章節、頁眉、頁腳或文檔中的其他部分。
根據W3C HTML5文檔: section 包含了一組內容及其標題。
2、HTML5 <article> 元素
<article> 標簽定義獨立的內容。
3、HTML5 <nav> 元素
<nav> 標簽定義導航鏈接的部分。
<nav> 元素用于定義頁面的導航鏈接部分區域,但是,不是所有的鏈接都需要包含在 <nav> 元素中!
4、HTML5 <aside> 元素
<aside> 標簽定義頁面主區域內容之外的內容(比如側邊欄)。
aside 標簽的內容應與主區域的內容相關.
5、HTML5 <header> 元素
<header>元素描述了文檔的頭部區域
<header>元素注意用于定義內容的介紹展示區域.
在頁面中你可以使用多個<header> 元素.
6、HTML5 <footer> 元素
<footer> 元素描述了文檔的底部區域.
<footer> 元素應該包含它的包含元素
一個頁腳通常包含文檔的作者,著作權信息,鏈接的使用條款,聯系信息等
文檔中你可以使用多個 <footer>元素.
7、HTML5 <figure> 和 <figcaption> 元素
<figure>標簽規定獨立的流內容(圖像、圖表、照片、代碼等等)。
<figure> 元素的內容應該與主內容相關,但如果被刪除,則不應對文檔流產生影響。
<figcaption> 標簽定義 <figure> 元素的標題.
<figcaption>元素應該被置于 "figure" 元素的第一個或最后一個子元素的位置。