您好,登錄后才能下訂單哦!
首先非常感謝李剛老師出的這本書《HTML5/CSS3/JavaScript講義》,今天讀了第一章節(jié)的內(nèi)容,趁熱打鐵,總結(jié)一下。
HTML5的時代已經(jīng)到來,它對所有的前端開發(fā)人員來說是一種福音。HTML5致力于解決跨瀏覽器問題,可以部分取代JavaScript,HTML5致力于把瀏覽器變成一個前端執(zhí)行程序環(huán)境,而不是簡單地視圖工具。
第一部分,了解HTML和XHTML
HTML——Hyper Text Markup Language(超文本標記語言),它的發(fā)展史比較復雜,從1991年年底推出HTML,當時HTML并沒有嚴格的定義,一路走來HTML2.0,HTML3.2,HTML4.0,HTML4.0.1,XHTML1.0。XHTML可謂是歷盡了千錘百煉。
XHTML——eXtensible Hyper Text Markup Language(擴展的超文本標記語言)。
HTML4.0.1和XHTML具備了良好的兼容性,而且XHTML是更嚴格、更純凈的HTML代碼。
我們習慣性的認為HTML是一種結(jié)構(gòu)化的文檔,但實際上HTML的語法十分的自由、寬容(主要是各個瀏覽器縱容的結(jié)果)比如如下的代碼,HTML標簽有頭無尾,非常不規(guī)范:
<html> <head> <title>混亂的html文檔<title> <body> <h2>混亂的html文檔
這顯然違背了結(jié)構(gòu)化文檔的規(guī)則,但是用瀏覽器來瀏覽這份文檔時,依然可以看到瀏覽效果——這就是html不規(guī)范的地方。而XHTML致力于消除這種規(guī)范,XHTML要求HTML文檔首先必須是一份XML文檔。
通常,計算機里的瀏覽器可以對付各種不規(guī)范的HTML文檔,但現(xiàn)在很多瀏覽器運行在移動電話和手持設(shè)備上,它們就沒有能力來處理那些糟糕的標記語言。
第二部分:從XHTML到HTML5
WHATWG(Web Hypertext Application Technology Workding Group,Web超文本應用技術(shù)工作組)制定了一個新的HTML標準,HTML5。
大量的調(diào)查表明:即使在一些正規(guī)的網(wǎng)站中,也很少有網(wǎng)站能通過HTML規(guī)范驗證。僅有6.57%的網(wǎng)站符合HTML規(guī)范驗證。如果把那些名不見經(jīng)傳的小網(wǎng)站考慮在內(nèi),整個互聯(lián)網(wǎng)幾乎都是不符合規(guī)范的HTML頁面。
現(xiàn)有的HTML頁面大量存在如下4中不符合規(guī)范的內(nèi)容
1.元素的標簽大小寫混雜。比如:<p></P>。
2.元素沒有合理結(jié)束的情況。比如:只有<p>沒有</p>。
3.元素中的屬性沒有指定屬性值。比如<input type="text" disabled>。
4.為元素的屬性指定屬性值時沒有使用引號。比如:<input type=text>。
出于“存在即合理”的考慮,WHATWG組織開始定義一種“妥協(xié)式”的規(guī)范:HTML5。HTML5成人以上的不規(guī)范是符合規(guī)范的。HTML5是規(guī)范制定者對妥協(xié)的實現(xiàn)。
HTML5的優(yōu)勢:
從HTML4.0.1、XHTML到HTML5,并不是一種革命性的升級,而是一種規(guī)范向習慣的妥協(xié),因此從HTML到HTML5的過度非常的輕松。
1.解決跨瀏覽器問題。
跨瀏覽器問題絕對是一個永恒的“噩夢”,HTML的出現(xiàn)可能會改變這種局面,目前各種主流瀏覽器如:IE、Chrome、Firefox、Opera、Safari都表現(xiàn)出對HTML5極大的熱情。如果各瀏覽器都遵循HTML5規(guī)范,以后前端程序員開發(fā)HTML+CSS+JavaScript頁面將會變得更加輕松。
2.部分替代了原來的JavaScript。
比如HTML5以前要實現(xiàn):打開一個頁面后立即讓某行文本框獲得焦點,要通過javascript來實現(xiàn),而現(xiàn)在只需要加上一個屬性(autofocus)即可。
<input type = text autofocus name = price/>
3.更明確的語義支持。
(1)HTML5提供了<header>...</header>;<nav>...</nav>;<article>...</article>;<section>...</section>;<aside>...</aside>;<footer>...</footer>來代替以前只能通過div來實現(xiàn)的文檔結(jié)構(gòu)。
(2)HTML5提供了兩個新增的元素<time>2017-4-18</time>;<mark>被標記的語言</mark>提供了更加豐富的語義相比于原來的<em../>(em表示被強調(diào)的內(nèi)容,但是到底是哪一種強調(diào)并不清楚)。
4.增強了WEB應用程序的功能。
一直以來,HTML被死死地限制著,客戶端從服務器下載HTML頁面數(shù)據(jù),瀏覽器負責呈現(xiàn)這些HTML頁面數(shù)據(jù)。出于對客戶機安全性考慮,以前的HTML在安全性方面做的足夠安全。
于是呢,我們就需要通過JavaScriptlai等其他方式來增加HTML的功能。
HTML5的語法變化
1.標簽不再區(qū)分大小寫。
2.元素可以省略結(jié)束標簽。
3.允許省略屬性值的屬性。
4.允許屬性值不使用引號。(但是對于包含空格等容易引起瀏覽器混肴的屬性值時候,HTML5強烈建議使用引號把這種特殊的屬性值引起來)
總結(jié):HTML5說就是把不符合規(guī)范的HTML看做是一種規(guī)范,增加了一些新的api,新的實用的功能。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。