html5解決了:web瀏覽器之間的兼容性很低抬吟、文檔結(jié)構(gòu)不明確等功能田盈。
一房官、Html5和Html4的區(qū)別
(1)語法的改變:
? ? ? ? ? ? ?內(nèi)容類型:文件名還是 .html或 .htm手形;文件類型還是 texttype
? ? ? ? ? ? DOCTYPE聲明:變化較大(在html4中要指定版本)狸剃,指定字符編碼:html4:<meta http-equiv ="content-type" content="text/html" charset ="UTF-8"> ;?html5 :<meta charset="UTF-8">
(2)可以省略標記的元素:具有boolean值得屬性
值為true的情況:
<input type="checkbox" ?checked>
<input type="checkbox" checked="checked">
<input type="checkbox" ?checked=" ">
值為false的情況:
<input type="checkbox">
(3)新增元素:
結(jié)構(gòu)元素:section(內(nèi)容塊)? article(博客中的一篇文章)? aside(輔助信息)? ? header(標題)? ? ? ? hgroup(標題的結(jié)合)? footer(作者姓名)? ? nav (導航)? figure(文檔主體中的一個單元)
其他元素:video? ? audio ? canves ? embed? mark progress meter? time ruby? rt? rp? wbr
command ?details ?datalist ?datagrid ? keygen ? output ? source ?menu
input元素的類型: email(地址)、? url烹玉、? number驰怎、? range阐滩、? Date Pickers(日歷)
二二打、祥講
article元素:article元素代表文檔、頁面或應(yīng)用程序中獨立的掂榔、完整的继效、可以獨立被外部引用的內(nèi)容。它可以是一篇博客或者報刊中的文章装获,一片論壇帖子瑞信、一段用戶評論、或獨立的插件穴豫,或其他任何獨立的內(nèi)容凡简。article元素是可以嵌套使用的逼友;article元素可以用來表示插件。
section元素:用于對網(wǎng)站或應(yīng)用程序中頁面上的內(nèi)容進行分塊秤涩。一個section元素通常由內(nèi)容及其標題組成帜乞。但 section元素并非一個普通的容器元素; 當一個容器需要被直接定義成樣式或通過腳本定義行為時筐眷,推薦使用div而非section元素黎烈。
通常不推薦沒有標題內(nèi)容使用section元素,對頁面中的內(nèi)容進行分段匀谣,對文章進行分塊照棋。
不要與article元素混淆
特別注意:
1、不要將section元素作為設(shè)置樣式的頁面容器
2武翎、如果 article元素烈炭、aside元素、nav元素更符合使用條件后频,那就不要使用section元素
3梳庆、沒有標題內(nèi)容 ?不要使用section元素
nav元素:是一個可以用作頁面導航的連接組,其中的導航元素連接到其他頁面或當前頁面的其他部分卑惜。并不是所有的連接組都要被放進nav元素膏执,只需要將主要的、基本的連接組放進nav元素即可露久。
應(yīng)用場景:
傳統(tǒng)導航條更米、側(cè)邊欄導航、頁內(nèi)導航毫痕、翻頁操作
特別注意:
不能用menu元素替代nav元素
aside元素:用來表示當前頁面或文章的附屬信息部分征峦,它可以包含于當前頁面或主要內(nèi)容相關(guān)的引用、側(cè)邊欄消请、廣告栏笆、導航條,以及其他類似的有區(qū)別與主要主要內(nèi)容的部分臊泰。
aside元素在article元素內(nèi)蛉加,作為主要信息的一個附屬信息;aside元素在article元素外缸逃。
header元素:是一種具有引導和導航作用的結(jié)構(gòu)元素针饥,通常用來放置整個頁面或頁面內(nèi)的一個內(nèi)容區(qū)塊的標題,也可以是其他內(nèi)容需频,例如:數(shù)據(jù)表格丁眼,搜索表單,或者相關(guān)的logo圖片昭殉“撸可以出現(xiàn)多次藐守。
footer元素:可以作為其上層父級內(nèi)容塊或是一個根區(qū)塊的腳注。footer通常包括其相關(guān)區(qū)塊的腳注信息蹂风,如:作者吗伤、相關(guān)閱讀鏈接及版權(quán)信息等。
hgroup 元素:是將標題及其子標題進行分組的元素硫眨。hgroup元素通常會將h1~h6元素進行分組足淆,譬如:一個內(nèi)容區(qū)塊的標題及其子元素算一組。
address元素:用來在文檔中呈現(xiàn)聯(lián)系信息礁阁,包括文檔作者或文檔維護者的名字巧号、他們的網(wǎng)站鏈接、電子信箱姥闭、真實地址丹鸿、電話號碼等。address應(yīng)該不只用來呈現(xiàn)電子信箱或真實地址棚品,還用來展示跟文檔相關(guān)的聯(lián)系人的所有信息靠欢。
2.1廢除元素
能使用css替代的元素:basefont ?big ?center ?font ? s ? tt ?u铜跑;不再使用frame框架门怪;只有部分瀏覽器支持的元素;其他被廢除的元素
2.2新增屬性
表單相關(guān)的屬性:
form屬性:在HTML4中掷空,表單內(nèi)的從屬元素必須寫在表單內(nèi)部。而在HTML5中官地,可以把他們寫在頁面上任何地方酿傍,然后為該元素指定一個form屬性,屬性值為該表單的id驱入,這樣就可以聲明該元素從屬于指定表單了赤炒。
formmethod屬性:在HTML4中,一個表單內(nèi)只能有一個action屬性用來對表單內(nèi)所有元素統(tǒng)一指定提交頁面沧侥,所以每個表單內(nèi)也只有一個method屬性來統(tǒng)一指定提交方法可霎。在HTML5中魄鸦,可以使用formmethod屬性來對每一個表單元素分別指定不同的提交方法(提交方法:get和post)宴杀。
formenctype屬性:在HTML4中,表單元素具有一個enctyp屬性拾因,該屬性用于指定在表單發(fā)送到服務(wù)器之前應(yīng)該如何對表單內(nèi)的數(shù)據(jù)進行編碼旺罢。
在HTML5中旷余,可以使用formenctype屬性對表單元素分別指定不同的編碼方式。
三種形式:
<input type="text" formenctype="text/plain">
<!-- formenctype = "text/plain":表單中的空格被轉(zhuǎn)化為+號扁达,但不對表單中的特殊符號進行編碼 正卧。 -->
<input type="text" formenctype="multipart/form-data">
<!-- formenctype="multipart/form-data": 不對字符進行編碼,在使用文件上傳時需要使用該編碼 -->
<input type="text" ?formenctype="application/x-www-form-urlencoded">
<!--formenctype="application/x-www-form-urlencoded"? : 提交方式為get時跪解,瀏覽器將此編碼方式將表單數(shù)據(jù)轉(zhuǎn)換成字符-->
formtarget屬性:在HTML4中炉旷,表單元素具有一個target屬性,該屬性用于指定在何處打開表單提交后所需要加載的頁面叉讥。在HTML5中窘行,可以對多個提交按鈕分別使用formtarget屬性來指定提交后在何處打開所需加載的頁面。
autofocus屬性:為文本框图仓、選擇框或按鈕控件加上autofocus屬性罐盔,當畫面打開時,該控件自動獲得光標焦點救崔。
required屬性:HTML5中新增的required屬性可以應(yīng)用在大多數(shù)輸入元素上惶看,在提交時,如果元素中內(nèi)容為空白六孵,則不允許提交纬黎,同時在瀏覽中顯示信息提示文字。
labels屬性:在HTML5中劫窒,為所有可使用標簽的表單元素莹桅、button、select 元素等烛亦,定義一個labels屬性诈泼,屬性值為一個NodeList對象,代表該元素所綁定的標簽元素所構(gòu)成的集合煤禽。
2.3新增的全局屬性 (Html5)
contentEditable屬性:主要功能是铐达,允許用戶編輯元素中的內(nèi)容,是boolean類型值檬果,未說明類型時瓮孙,則由繼承的狀態(tài)來指定(如:父元素是可編輯的,其子元素也是)选脊。
designMode屬性:值有兩個 : On杭抠,可編輯;Off恳啥,不可編輯偏灿。
hidden屬性:也是boolean類型值。
spellcheck屬性:用于輸入框中拼寫檢查钝的。
tabindex屬性:
<body>
<a href=""><tabindex="1"></a>
</body>
tabindex="-1":是無法獲取焦點的翁垂,但是在程序中是可以獲取tabindex的铆遭。