HTML5學(xué)習(xí)筆記之html5與傳統(tǒng)html區(qū)別

字號:


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