這篇文章主要介紹了HTML5學(xué)習(xí)筆記之html5與傳統(tǒng)html區(qū)別 的相關(guān)資料,需要的朋友可以參考下
一. HTML5語(yǔ)法的改變
該知識(shí)點(diǎn)所說(shuō)變化指的是基于HTML4基礎(chǔ)上所定義的改變,主要有如下:
1.HTML5的文件擴(kuò)展符(.html或.htm)與內(nèi)容類型(text/html)保持不變。
2.HTML5中,刻意不使用版本聲明,一份文檔將會(huì)適用于所有版本的HTML。
3.從HTML5開始,對(duì)于文件的字符編碼推薦使用UTF-8。
4.HTML5確保了與之前HTML版本的最大程度的兼容性。
為了保證兼容性,需從元素說(shuō)起,在HTML5.中,元素的標(biāo)記可以省略。其體來(lái)說(shuō),元素的標(biāo)記分為“不允許寫結(jié)束標(biāo)記”、“可以省略結(jié)束標(biāo)記”和‘“開始標(biāo)記和結(jié)束標(biāo)記全部可以省略”三種類型。
• 不允許寫結(jié)束標(biāo)記元素有:area、base、br、col.....
• 可以省略結(jié)束標(biāo)記:li、dt、dd、p、rt......
• 開始標(biāo)記和結(jié)束標(biāo)記全部可以省略:html、head、body.....
二.新增的結(jié)構(gòu)元素
•section元素表示頁(yè)面中的一個(gè)內(nèi)容區(qū)塊,比如章節(jié)、頁(yè)眉、頁(yè)腳或頁(yè)面中的其他部分;
•article元素表示頁(yè)面中的一塊與上下文不相關(guān)的獨(dú)立內(nèi)容,譬如博客中的一篇文章或報(bào)紙中的一篇文章;
•aside元素表示article元素的內(nèi)容之外的、與article元素的內(nèi)容相關(guān)的輔助信息;
•header元素表示頁(yè)面中一個(gè)內(nèi)容區(qū)塊或整個(gè)頁(yè)面的標(biāo)題;
•hgroup元素用于對(duì)整個(gè)頁(yè)面或頁(yè)面中一個(gè)內(nèi)容區(qū)塊的標(biāo)題進(jìn)行組合;
•footer元素表示整個(gè)頁(yè)面或頁(yè)面中一個(gè)內(nèi)容區(qū)塊的腳注。一般來(lái)說(shuō),它會(huì)包含創(chuàng)作者的姓名、創(chuàng)作日期以及創(chuàng)作者聯(lián)系信息;
•nav元素表示頁(yè)面中導(dǎo)航鏈接的部分;
•figure元素表示一段獨(dú)立的流內(nèi)容,一般表示文檔主體流內(nèi)容中的一個(gè)獨(dú)立單元,使用figcaption元素為figure元素組添加標(biāo)題
2、新增的其他元素
•audio元素定義音頻,比如音樂或其他音頻流;
•embed元素用來(lái)插入各種多媒體,格式可以是Midi、Wav、AU、MP3等;
•mark元素上要用來(lái)在視覺上向用戶呈現(xiàn)那些需要突出顯示或高亮顯示的文字,典型應(yīng)用就是在搜索結(jié)果中向用戶高亮顯示搜素關(guān)鍵詞;
•progress元素表示運(yùn)行中的進(jìn)程
•ruby元素表示ruby注釋(中文注音或字符)
•rt元素表示字符(中文注音或字符)的解釋或發(fā)音
•rp元素在ruby注釋中使用,以定義不支持ruby素的瀏覽器所顯示的內(nèi)容。
•wbr元素表示軟換行,而當(dāng)寬度不夠時(shí),主動(dòng)在此處進(jìn)行換行
•canvas元素表示圖形,比如圖表和其他圖像
•cammand元素表示命令按鈕,比如單選按鈕、復(fù)選框或按鈕
•details元素表示用戶要求得到并且可以得到的細(xì)節(jié)信息
•datagrid元素表示可選數(shù)據(jù)的列表,它以樹形列表的形式來(lái)顯示
•keygen元素表示生成密鑰
•output元素表示不同類型的輸出,比如腳本的輸出
•source元素為媒介元素(比如<video>和<audio>)定義媒介資源
•menu元素表示菜單列表
3、新增的input元素
•email 類型表示必須輸入E-main地址的文本輸入框
•url 類型表示必須輸入U(xiǎn)RL地址的文本輸入框
•number類型表示必須輸人數(shù)值的文本輸入框
•range 類型表示必須輸入一定范圍內(nèi)數(shù)字值的文本輸人框
HTML5擁有多個(gè)可供選取日期和時(shí)間的新型輸入文本框:
•date ——選取日、月、年
•month ——選取月、年
•week ——選取周和年
•time ——選取時(shí)間(小時(shí)和分鐘)
•datetime ——一選取時(shí)間、日、月、年(UTC 時(shí)間)
•datetime.local ——選取時(shí)間、日、月、年(本地時(shí)間)
三.廢除元素
1、能使用CSS替代的元素
•對(duì)干basefont、big、center、font、s、strike、tt、u這些元素,由于它們的功能都是純粹去畫面展示服務(wù)的,而HTML5中提倡把畫面展示性功能放在CSS樣式表中統(tǒng)一編輯,所以這些元素廢除了
2、不再使用frame框架
•對(duì)于frameset元素、frame元素與noframes元素,由于frame框架對(duì)網(wǎng)頁(yè)可用性存在負(fù)面影響,在HTML5中已不支持frame框架,只支持iframe框架,或者用服務(wù)器方創(chuàng)建的由多個(gè)頁(yè)面組成的復(fù)合頁(yè)面的形式,同時(shí)將以上這三個(gè)元素廢除。
3、只有部分瀏覽器支持的元素
• 對(duì)于applet、bgsound、blink、marquee等元素,由于只有部分瀏覽器支持這些元素,特別是bgsound元素以及marquee元素,只被Internet Explorer所支持,所以在HTML 5中被廢除。其中applet元素可由ernedd元素或object元素替代,bgsound元素可由audio元素替代,marquee可以由JavaScript編程的方式所替代
4、其他被廢除的元素:
•廢除rb元素,使用ruby元素替代
•廢除acronym元素,使用abbr元素替代
•廢除dir元素,使用ul元素替代
•廢除isindex元素,使用form元素與input元素相結(jié)合的方式替代
•廢除listing元素,使用pre元素替代
•廢除xmp元素,使用code元素替代
•廢除nextid元素,使用GUIDS替代
•廢除plaintext元素,使用“ text/plian” MIME類型替代
四.新增屬性和廢除屬性
一、新增屬性
1、與表單相關(guān)屬性
•新增autofocus屬性,它以指定屬性的方式讓元素在畫面打開時(shí)自動(dòng)獲得焦點(diǎn);
•新增placeholder屬性,它會(huì)對(duì)用戶的輸入進(jìn)行提示,提示用戶可以輸入的內(nèi)容;
•新增form屬性,聲明它屬于哪個(gè)表單,然后將其放置在頁(yè)面上任何位置,而不是表單之內(nèi);
•新增required屬性,該屬性表示在用戶提交的時(shí)候進(jìn)行檢查,檢查該元素內(nèi)一定要有輸入內(nèi)容;
2、與鏈接相關(guān)屬性
•增加media屬性,該屬性規(guī)定目標(biāo)URL是為什么類型的媒介/設(shè)備進(jìn)行優(yōu)化的,只能在href屬性存在時(shí)使用;
•增加hreflang屬性與rel屬性,以保持與a元素、link元素的一致;
3、其他屬性
•屬性reverend,它指定列表倒序顯示;
•為script元素增加async屬性,它定義腳本是否異步執(zhí)行;
二、廢除屬性
•能被CSS樣式表替代的屬性全部廢除掉;
•多余屬性,例如:target、profile、version等被廢除掉;
五.全局屬性
在HTML5中,新增了一個(gè)’‘全局屬性“的概念。所謂全局屬性,是指可以對(duì)任何元素都使用的屬性。
1、contentEditable 屬性
•該屬性允許用戶編輯元素中的內(nèi)容,可以獲得鼠標(biāo)焦點(diǎn),屬性為布爾值,可被指定為true或false。另外,該屬性還有個(gè)隱藏inherit狀態(tài),為true時(shí),允許編輯,為false時(shí),不允許編輯,未指定時(shí),由inherit決定。
2、designMode 屬性
•該屬性用來(lái)決定整個(gè)頁(yè)面是否可編輯。有兩個(gè)屬性“on”與"off"。屬性為"on"時(shí),可編輯,為“off”時(shí),不可編輯。
3、hidden屬性
•所有元素都允許使用一個(gè)hidden屬性,該屬性類似于input元素中的hidden元素,功能是通知瀏覽器不渲染該元素,使該元素處于不可見狀態(tài)。該屬性值為布爾值,為true時(shí),不可見,為false時(shí),可見。
4、spellcheck屬性
•該屬性是HTML 5針對(duì)input元素(type=text) 與textarea這兩個(gè)文本輸入框提供的一個(gè)新屬性,主要對(duì)用戶輸入內(nèi)容進(jìn)行拼寫與語(yǔ)法檢查。屬性值為布爾值,書寫時(shí)必須明確聲明屬性值為true或false書寫方式如下:
<!—以下兩種書寫方法正確—> <textarea spellcheck="true" > <input type=text spellcheck=false> <!—以下兩種書寫方法為錯(cuò)誤—> <textarea spellcheck >
詳解form屬性
在HTML4中,表單內(nèi)的從屬元素必須書寫在表單內(nèi)部,但是在HTML5中,可以把他們書寫在頁(yè)面上任何地方,然后給元素制定一個(gè)form屬性,屬性值為該表單單位的id,這樣就可以聲明該元素從屬于指定表單了。
代碼如下:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>form屬性</title>
</head>
<body>
<form action="" id="testform">
<input type="text" name="" />
</form>
<textarea form="testform" name="" cols="30" rows="10"></textarea>
</body>
</html>
input元素從屬于表單,它唄書寫在表單內(nèi)部,用不著再對(duì)它制定form屬性。textarea元素唄書寫在表單之外,但它從屬于表單,所以表單的id制定給textareea元素的form屬性。
這樣做的好處是當(dāng)需要給頁(yè)面中的元素添加樣式時(shí)可以更方便地添加,因?yàn)樗鼈儾皇潜环稚⒃诟鞅韱沃畠?nèi)的了。