標籤:des style blog http 使用 io strong 檔案
第2章 HTML5與HTML4的區別
HTML5的檔案擴充符與內容類型保持不變仍為“.html”或“.htm”,內容類型(ContentType)仍為“text/html”
DOCTYPE聲明:
HTML4中,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
HTML5中,<!DOCTYPE html>(不區分大小寫)
另外,當使用工具時,也可以在聲明中加入SYSTEM識別符
<!DOCTYPE HTML SYSTEM "about:legacy-compat">
指定字元編碼
HTML4,<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
HTML5,<meta charset="utf-8">
不允許寫結束標記的元素:area base br col command embed hr img input keygen link meta param source track wbr
可以省略結束標記的元素:li dt dd p rt rp optgroup option colgroup thead tbody tfoot tr td th
可以省略全部標記的元素:html head body colgroup tbody
省略引號
當屬性值不包括Null 字元串 “<” “>” “=” 單引號 雙引號等字元時,屬性兩邊的引號可以省略
<input type="text">
<input type=text>
新增的結構元素
section元素,它表示頁面中的一個內容區塊,比如章節、頁首、頁尾等部分
article元素,表示頁面中的一塊與上下文不相關的獨立內容
aside元素,表示article元素外的相關的輔助資訊
header元素,表示一個內容地區或頁面的標題
hgroup元素,用於對內容區塊的標題進行組合
footer元素,表示整個頁面或頁面中一個內容區塊的腳註,一般會包含作者的名字、創作日期等
nav元素,表示頁面中導航連結的部分
figure元素,表示一段獨立的流內容,一般表示文檔主體流內容中的一個獨立單元,使用figcaption元素為figure元素添加標題
新增的其他元素
video元素,定義視頻,比如電影片段
audio元素,定義音樂或其他音頻流
embed元素,用來插入各種多媒體,格式可以是Midi、Wav、AIFF、AU、MP3等
mark元素,視覺上呈現需要高亮的文字
progress元素,表示運行中的進程
time元素,表示時間或日期
ruby元素,表示ruby注釋
rt元素,表示字元的解釋或發音
rp元素,定義不支援ruby元素的瀏覽器所顯示的內容
wbr元素,軟換行,與br元素的區別是,br指必須換行,wbr表示足夠寬時,不必換行,寬度不夠進行換行
canvas元素
command元素,表示命令按鈕,比如選項按鈕、複選框或按鈕
detail元素,與summary元素(點擊會顯示細節資訊)配合
datalist表示可選資料列表,與input配合,製作輸入值的下拉式清單
datagrid元素,表示可選資料列表,它以樹形式來顯示
keygen元素來產生密鑰
output元素,表示不同類型的輸出,比如指令碼的輸出
source元素,為媒介元素(比如<video>)定義媒介資源
menu元素,表示菜單列表
新增的input元素類型
email
url
number
range類型表示必須輸入一定範圍內數字值的文字框
Date Pickers,提供選取日期和時間的新型輸入文字框
date-選取日、月、年
month-選取月、年
week-選取周、年
time-選取時間(小時和分鐘)
datetime-選取時間、日、月、年(UTC時間)
datetime-local選取時間、日、月、年(本地時間)
廢除的元素
能用CSS替代的元素,純粹為畫面展示服務的,HTML5都廢除了basefont big center font s strike tt u
不再使用frame架構,frame架構對網頁可用性存在負面影響,HTML5不支援frame架構,只支援iframe架構,廢除frameset frame noframes
新增的屬性
表單相關:
可以對input(type=text) select textarea button元素指定autofocus屬性,畫面開啟時自動擷取焦點
可以對input (type=text)與textarea元素指定placeholder屬性,它會對使用者的輸入進行提示
可以對input output select textarea button 與fieldset指定form屬性,聲明它屬於哪個表單,然後將其放置在頁面的任何位置
可以對input(type=text)與textarea元素指定required屬性,該屬性在使用者提交的時候進行檢查(輸入內容)
為input元素增加了幾個新的屬性autocomplete min max multiple pattern 與step,同時還有一個新的list元素與datalist元素配合使用。datalist元素與autocomplete屬性配合使用。multiple屬性允許在上傳檔案時一次上傳多個檔案
為input元素與button元素增加formaction formenctype formmetthod formnovalidate與formtarget,他們可以重載form元素的action、enctype、method、novalidate與target屬性。為field元素增加了disabled屬性,可以把它的子項目設為disabled(無效)狀態
為input元素、button、form增加novalidate屬性,可以取消提交時進行的有關檢查
連結相關的屬性
為a與area元素增加media屬性,該屬性規定目標URL是為神馬類型的媒介/裝置進行最佳化,只能在href屬性存在時使用
為area元素增加hreflang屬性與rel屬性,以保持與a元素、link元素一致
為link元素增加新屬性sizes,該屬性可以與icon元素結合使用(通過rel屬性),該屬性指定關聯表徵圖(icon元素)的大小
為base元素增加target屬性,目的是保持與a元素的一致性
其他屬性
為ol元素增加屬性reversed,指定列表倒序顯示
為meta增加charset屬性
為menu元素增加兩個新屬性,type與label。label屬性為菜單定義一個可見的標註,type屬性讓菜單可以以操作功能表、工具條與列表菜單的三種形式出現
為style元素增加scoped屬性,規定樣式的作用範圍
為script元素增加async屬性,定義指令碼是否非同步執行
為html元素增加屬性manifest,開發離線Web應用程式時它與API結合使用,定義一個URL,在這個URL描述文檔的緩衝資訊
為iframe元素增加sandbox seamless srcdoc 提供頁面的安全性
廢除的屬性
全域屬性
全域屬性指得是可以對任何元素都使用的屬性
contentEditable屬性,該屬性的主要功能是允許使用者編輯元素中的內容,該元素必須是可以獲得焦點的元素,屬性的值是一個布爾值,該元素擁有inherit狀態(未指定屬性值時,從父元素繼承),此外還有一個isContentEditable屬性檢測是否可編輯
designMode屬性,用於指定整個頁面是否可編輯,兩個屬性值“on”,“off”
document.designMode="on";//IE8不允許;IE9允許;Chrome3和Safari內嵌frame可編輯;Firefox和Opera允許;
hidden元素,類似input元素的hidden屬性,功能是通知瀏覽器不渲染該元素,使該元素不可見,有兩個值true和false
spellcheck屬性,針對input(type=text)與textarea這兩個輸入框提供一個新屬性,對使用者輸入的常值內容進行拼字檢查,有true和false兩個值,需要注意的是,如果元素的readOnly屬性或disabled屬性設為true,則不執行拼字檢查
tabindex屬性,當通過不斷敲擊Tab鍵讓視窗或頁面中的控制項獲得焦點,把元素的tabindex屬性值設為-1可以取消該行為 本章完