本節書摘來自異步社群《html5和css3快速參考》一書中的第1章,第1.1節,作者: 【美】sergey mavrody 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
本書簡介
在web世界中,html和css無疑是最重要、最基本的兩種語言了,它們一同支撐起了當下絕大部分的web站點和web應用程式。而最新的html5被認為是web的未來,它為我們提供了一系列簡單的富網際網路應用服務(rich internet application)1插件功能,以及更容易的開發方式和更好的使用者體驗。
今天,我們總能在網絡上找到各種關于html5的參考資料、教程及相關技巧,其中也不乏一些重點讨論html5某些具體特性的書籍。但我們總會覺得缺少一本資訊全面而簡潔的便捷型參考書。
而本書就是這樣一部為專業web設計人員及開發人員準備的技術詞典。這裡彙總了3 000多頁的(x)html5和css3的标準規範,其中涵蓋了那些最基本的通用概念和規範,包括标簽、屬性、屬性值、對象及其屬性與方法、事件以及一系列api。
我們将會涉及以下話題:
html5概述;
html及xhtml5的文法規則;
文檔語義結構;
html5元素及其屬性彙總;
html5表單;
全局屬性與事件;
css3屬性彙總;
html5 api,包括canvas、svg、video、audio、web workers、web sockets、microdata、geolocation、web storage等。
總之,作者的目标是建構出一份全面的、一站式(one-stop)的資訊參考資料庫,并同時力求簡明易讀、結構清晰。
什麼是html
衆所周知,“html”是超文本标記語言(hypertext markup language)的首字母縮寫。它是網際網路(world wide web)中最主要的标記語言,通常用來表示組成web文檔的各種結構元素,其中包括文檔頭、段落、表格、頁腳等。
除此之外,html标簽通常會結合css(cascading style sheets,層疊樣式表)技術來展現其要表述的可視化内容。css可以幫助我們将一些可視化元素與具體的html内容分隔開來,例如圖層、顔色、字型等。
html還允許我們在頁面中内嵌互動式表單、圖檔、視訊、音頻等對象。此外,我們還可以在html代碼中嵌入類似于javascript腳本這樣的代碼檔案,這能賦予相關頁面某種動态化行為。
html的主要版本
第一份html文檔叫作“html tags”,由berners-lee于1991年釋出。
html 4.0是由國際網際網路協會(w3c)于1997年釋出的。該規範為我們提供了三種不同層次的選項,分别為transitional、strict及frameset。
xhtml 1.0規範代表的是一個更為嚴格的html标記子集,釋出于2000—2002年。它主要沿襲了xml文檔的文法規則。
xhtml 2.0工作草案是2002—2006年間陸續釋出的。由于該标準在制定過程中總試圖與過去徹底決裂,犧牲了大量的向後相容性,因而最終導緻w3c決定停止這一标準草案的所有開發工作,進而将目标轉向了更為靈活的html5标準。
html5的第一份草案由w3c于2008年公開釋出。
xhtml5的開發工作是從2009年以後開始的。
html5
html5的開發工作始于2004年whatwg小組(web hypertext application technology working group,網頁超文本應用技術小組)的一次非正式專家會議。該專家小組由apple電腦、mozilla基金會以及opera軟體的專家共同組成。并且由來自google公司的ian hickson負責上司html5的标準制定工作,最終于2007年向國際網際網路協會(w3c)送出并通過了whatwg版的html5規範。
比起xhtml 2.0,html5标簽能夠更好地實作對html 4與xhtml 1.0的向後相容。
html5引入了許多新的元素,包括一些用于語義替換(semantic replacements)的一般性html元素,例如新的布局元素、、、、等。同時,該标準也棄用了許多html 4中的元素,即不再鼓勵使用它們。
html5還引入了許多額外的插件功能,例如标準化的視訊與音頻接口、栅格圖像、本地型資料庫、離線模式、多線程javascript腳本以及跨文檔通信等。
xhtml5
xhtml5是html5被xml化後的産物,該型文檔嚴格支援xml mime(如application/xhtml+xml)。此外,xhtml5在文法上也有更嚴格的要求。在xhtml5文檔中,html5的文檔聲明通常是可以省略的。而且我們還可以通過這種擴充,對html5頁面使用某些基于xml的技術,例如svg和mathml。
css3
新版css的引入,更是進一步保證了我們在子產品釋出方面的靈活性。css3的新特性所涵蓋的範圍非常廣,主要包括:
選擇器選擇元素的方式将更為具體,包括對屬性與屬性值的比對能力、用于結構化元素的僞類、用于url類标簽的僞類、用于選擇類元素标簽(例如radio、checkbox等元素)的僞類等。
一些文本效果與布局樣式,包括連結文本、“空白”符2以及說明性文本等樣式。2
某些用于媒體分頁和内容生成的工具。在媒體分頁方面,它有了更多的選項,例如頁眉、頁腳、頁碼、腳注以及交叉引用等。
其多列布局(multi-column layout)屬性為網頁提供多列式布局的能力。
它還提供了專門用于首字母以及首行的僞類。
ruby子產品還提供了為單詞加注下标的能力,這适用于某些亞洲地區的腳本。