HTML版本 | 描述 |
---|---|
HTML1.0~HTML2.0(1989~1991) | 關于HTML需要知道的東西并不多,且頁面不好看,不過至少已經支持超文本。沒有人關心表現,幾乎Web上的每一個人都有他們自己的“主頁”。 |
HTML3(1995) | 那時正經歷漫長、殘酷的“瀏覽器戰爭”。Netspace和Microsoft都在試圖爭霸世界。在這場戰爭中,每個瀏覽器公司都在不斷增加自己的專用擴展包,試圖保持領先,軍備競賽就此展開。不僅如此,那個時候,通常你必須寫兩個單獨的Web頁面:一個用于Netspace瀏覽器,另一個用于Internet Explorer。 |
HTML4(1998) | 萬維網協會(World Wide Web Consortium),又稱為W3C,制定了一個計劃:創建一個唯一的HTML“標準”,這個計劃的關鍵是將HTML的結構和表現分解到兩種語言,一種語言用于實現結構(HTML),另一種語言用于表現(CSS),另外要求獲得最大利益的瀏覽器制造商采用這些標準。 |
HTML4.01(1999) | HTML4.01在1999年閃亮登場,成為接下來十年中HTML的“必備”版本。4.01與4.0并沒有太大變化,只是在一些方面做了些修補。 |
XHTML1.0(2001) | 那時一個新興事物開始引起所有人的注意,這個新興事物就是xml。最后HTML和XML不情愿地結合在一起,XHTML1.0就此誕生。XHTML承諾,由于他的嚴格,再加上他提供的一些新方法,只要遵循這個標準, Web的所有爭端將就此平息。唯一的問題是,大多數人們很討厭XHTML。他們并不想要一種編寫Web頁面的新方法,只是希望改進HTML4.01已有的特性。Web開發人員對HTML的靈活性更感興趣,而不是XHTML的嚴格性。另外,這些開發人員越來越希望把時間用來創建更像是引用的Web頁面,而不只是文檔。 |
HTML5(2009~) | 由于這個版本支持HTML4.01標準的大部分特性,而且還提供了一些新特性,可以體現Web新的發展,所以HTML5得到了大家的歡迎。另外,基于一些新特性,如支持類似博客的元素、新的視頻和圖形功能,以及一大堆用來構建Web應用的功能,HTML5注定成為大家公認的標準。 |
我們找到了一些古老的HTML4.01和XHTML1.1頁面。這些頁面使用了一個doctype,放在HTML頁面的最上面,告訴瀏覽器所使用的HTML版本。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">這里為瀏覽器指定了這個頁面的文檔類型。注意:這不是一個HTML元素,在開始的“<”后面有一個“!”,這說明它與眾不同。
html:這表示這個<html>
是頁面中的根(第一個)元素。PUBLIC:這表示HTML4.01標準是公共可用的?!?//W3C//DTD HTML 4.01//EN”:這部分表示我們在使用HTML4.01版本,另外這個HTML標記用英語編寫?!癶ttp://www.w3.org/TR/html4/strict.dtd“:這指向一個文件,標識這個特定的標準。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">這仍然是一個HTML版本(結合XML的版本),這個對應XHTML1.1版本,另外它還有一個URL指向XHTML1.1的定義。
現在我們很清楚原來的doctype相當復雜,版本號和丑陋的語法混雜在一起。不過隨著HTML5的到來,doctype已經得到簡化,所以現在我們要做的就是告訴瀏覽器我們在使用“HTML”,不用再擔心特定的版本號或語言,也不同指向某個標準。實際上,當瀏覽器看到:
<!DOCTYPE html>它就認為你在使用標準HTML。不再考慮版本號,也不考慮標準在什么位置,實際上HTML標準將變成一個“活的標準”,這意味著它會根據需要繼續發展和變化,不過不再有固定的版本號。
HTML不會再有版本6、7、8了,因為制定標準的人已經把這個規范變成一個活的標準,它會隨著技術的發展形成相應的文檔,所以不再有版本號,你甚至可以不再把它叫做HTML5,因為從現在開始它只是“HTML”。 這里,我們還須了解一個知識——向后兼容性(backwards compatibility)。向后兼容性表示我們可以繼續向HTML增加新的內容,瀏覽器(最終)會支持這個新內容,不過它還會繼續支持原來的內容。所以,我們今天寫的HTML頁面將會繼續正常工作,甚至以后增加了新的特性之后也仍然能很好地工作。
問:上面我們提到了規范,那么它究竟是什么? 答:規范就是一個文檔,指定了HTML標準是什么。也就是說,HTML中有哪些元素和屬性等這個文檔由萬維網協會(World Wide Web Consortium,簡稱為W3C)維護。
<meta>
指定字符編碼字符編碼告訴瀏覽器頁面中使用了哪一種字符。 字符編碼為我們提供了一種方法,可以在計算機上表示某種語言中的所有字母、數字和其他符號。你可能知道這樣一些編碼,如ASCII,甚至莫爾斯碼,還有很多其他的編碼。幸運的是,如今標準已經統一為Unicode字符編碼。采用Unicode,一種編碼就可以表示所有語言。要為Web頁面指定Unicode,需要在HTML中加一個<meta>
標記,如下所示:
<meta>
標記也有一些屬性,即在charset屬性中指定字符編碼。utf-8:utf-8(有時也寫作UTF-8)是Unicode編碼系列中的一個編碼(這個系列中還有很多其他編碼)。Web頁面中使用的就是“utf-8”。utf-8中的u表示Unicode,Unicode是很多常用軟件應用和操作系統都支持的一個字符集,這也是Web選擇的編碼,因為它支持所有語言和多語種文檔(即多種語言的文檔),它還與ASCII兼容(ASCII是英語文檔常用的一種編碼)。如果要是以前的Web開發人員,可能還看見過這樣的<meta>
標記:
這是HTML4.01和更早版本中<meta>
標記的格式。在HTML5中,可以直接寫為<meta charset="utf-8">
。
注意:我們須使用utf-8編碼來保存我們的文件。因為為服務器提供的文件的編碼要與<meta>
標記中指定的編碼一致。
HTML5的好處有三方面:
首先,HTML5中提供了一些新元素和屬性,這些新元素和新屬性很酷,另外一些可以幫助你編寫更好的頁面。其次,它有很多新特性,允許Web開發人員用HTML5創建Web應用。Web應用就是表現得像應用一樣的Web頁面,而不只是靜態Web頁面。最后,HTML5規范比HTML以前的版本健壯得多。在這個簡明指南中,我們把編寫合法HTML頁面的做法匯集成一組常識性的原則:
一定要以<doctype>
開頭。 每個頁面都要從一個doctype開始,這樣能讓瀏覽器順利開展工作。任何時候都要使用<!DOCTYPE html>
,除非你確實在寫HTML4.01或XHTML。<html>
元素:不能沒有它。 緊接著doctype,<html>
元素必須是Web頁面的最頂層元素或根元素。所以,在doctype后面,由<html>
標記開始你的頁面,</html>
標記結束頁面,頁面中的所有其他內容都嵌套在這個元素中。記住,要使用<head>
和<body>
編寫更好的HTML。 只有<head>
和<body>
元素能直接放在<html>
元素中。這說明,所有其他元素都必須放在<head>
或<body>
元素中。沒有例外!在<head>
中包含一個<meta charset="utf-8">
標記。瀏覽器會感謝你的,用戶在你的博客上閱讀世界各地用戶發表的評論時,也會因為你指定了正確的字符編碼而感謝你。沒有<title>
的<head>
算什么? 一定要在<head>
元素中包含一個<title>
元素。這時雷打不動的原則。如果沒有做到,則會得到不符合標準的HTML。只能在<head>
元素中放置<title>
、<meta>
和<style>
元素。嵌套某些元素時要當心。 在這里提供的原則中,嵌套規則相當靈活。不過有一些情況是沒有意義的。不要把<a>
元素嵌在另一個<a>
元素中,因為這樣會讓訪問者很迷惑。另外,不允許在<img>
等void元素中嵌套其他內聯元素。檢查屬性! 有些元素屬性是必要的,有些則是可選的。例如,如果<img>
元素沒有src屬性,就沒有什么意義,現在你還知道了,alt屬性也是必要的。在學習過程中,要逐漸熟悉各個元素的必要和可選屬性。新聞熱點
疑難解答