學習 HTML5-頁面結構(1)


緣起

2014年10月29日,萬維網聯盟宣布,經過幾乎8年的艱辛努力,HTML5標准規范終於最終制定完成了,並已公開發布。

而HTML5的草稿版本在13年就已經放出。作為一個有追求的程序猿這次想趕一次潮流學習一下HTML5,並作一次筆記以便日后溫故。

基礎

“君子務本,本立而道生。”

啥是HTTP了?

超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議。是基於TCP的一種協議。

定義有些晦澀,大家都知道這么說,其實很多程序員如果沒寫過socket對於這個定義是很難真正理解的。其實這個定義的關鍵所在是基於TCP,TCP里面傳輸的事二進制流。一般從這個流里可以得到起始標記、結束標記、頭、體等。HTTP是基於TCP的,一般也會有這些東西。下面這幅圖是用谷歌瀏覽器得到的HTTP的請求頭信息。

從圖片可以看到,頭部信息包含了請求地址,請求方法,請求頭等信息。如果想對http協議的請求頭有更深入的理解,可以看看這篇文章《HTTP請求頭詳解》。

那體是啥呢?體就是HTML文本了。

啥是HTML了?

HTML叫超文本標記語言,是標准通用標記語言里的一種,主要用於互聯網。程序員每天寫的頁面,不管是jsp還是php,最終都會拼裝成一個完整的HTML文本傳遞給瀏覽器,瀏覽器在根據HTML標准,對文本進行解析,然后在頁面里展現出華麗的內容。

接着我們看看HTML標准有哪些。

  • 超文本標記語言(第一版)——在1993年6月作為互聯網工程工作小組(IETF)工作草案發布(並非標准):
  • HTML 2.0——1995年11月作為RFC 1866發布,在RFC 2854於2000年6月發布之后被宣布已經過時
  • HTML 3.2——1997年1月14日,W3C推薦標准
  • HTML 4.0——1997年12月18日,W3C推薦標准
  • HTML 4.01(微小改進)——1999年12月24日,W3C推薦標准
  • HTML 5——2014年10月28日,W3C推薦標准

HTML文本在編輯是必須要准許其中一個標准,否則瀏覽器解析會出問題。

HTML文本里面一般主要是內容,可以用CSS對這些內容做修飾以便在瀏覽器中展現華麗的效果。

啥是CSS了?

CSS即層疊樣式表(Cascading StyleSheet)。 在網頁制作時采用層疊樣式表技術,可以有效地對頁面的布局、字體、顏色、背景和其它效果實現更加精確的控制。

其實這是一種設計思想導致的結果,即內容與修飾分離。這樣就可以針對同一個內容,使用不同的修飾而達到不同的展現效果。CSS也是有標准的,類似HTML一樣,每一種標准都需要瀏覽器支持才能正確修飾內容來展現。最新的是CSS3。一般情況瀏覽器解析沒有CSS修飾的HTML文件是就會使用默認樣式修飾。

  • CSS 1--1996年12月17日,W3C推薦標准
  • CSS 2--1999年1月11日,W3C推薦標准
  • CSS 3--2001年5月21日

除了CSS可以對HTML文本進行修飾外,還有頁面腳本語言可以對HTML和CSS做動態修改,常見的腳本語言有javascript。

啥是JavaScript了?

JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標准通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。JaveScript實現的一個框架Node.js就已經開始支持服務器端編程了。JaveScript也和前面的HTML一樣,需要瀏覽器支持,否則是運行不起來的。目前瀏覽器還廣泛支持的事JavaScript1.5版本。最新的JavaScript是1.8.5版本,火狐4、IE9和Opera11都已經支持。

  • JavaScript 1.0 1996年3月
  • JavaScript 1.1 1996年8月
  • JavaScript 1.2 1997年6月
  • JavaScript 1.3 1998年10月
  • JavaScript 1.4
  • JavaScript 1.5 2000年11月  
  • JavaScript 1.6 2005年11月
  • JavaScript 1.7 2006年10月
  • JavaScript 1.8 2008年6月
  • JavaScript 1.8.1
  • JavaScript 1.8.2 2009年6月22日
  • JavaScript 1.8.5 2010年7月27日

HTML5頁面結構

寫了這么多,終於可以開始敲代碼了。

DOCTYPE聲明

DOCTYPE是document type的簡寫。主要用來說明你用的XHTML或者HTML是什么版本。瀏覽器根據你DOCTYPE定義的DTD(文檔類型定義)來解釋頁面代碼。html4的一般是這樣寫的

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

表示當前頁面是html4的過渡型頁面。過渡型的主要目的是兼容不支持層疊樣式表(CSS)的瀏覽器。與此相同的還有嚴格型和框架型的DOCTYPE聲明。

1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">

如果您需要干凈的標記,免於表現層的混亂,請使用此嚴格型聲明。該類型需要與層疊樣式表(CSS)配合使用,而且一些老的瀏覽器可能無法渲染出你想要的效果,所以一般這種類型不使用。

1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

框架型主要用來使用frameset標簽等講頁面划分成不同的區域。這個聲明IE瀏覽器支持的比較好。java語言生成的javaDoc里的index.html文件就是這個聲明。

相對html4的DOCTYPE,html5的要簡單的多了,下面就是html5的DOCTYPE聲明。

1 <!DOCTYPE html>

太簡單了,簡單的連5都沒有,有種html不會出6的感覺。

字符編碼的聲明

以前html4是這樣的

1 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

現在html5中是這樣的

1 <meta charset="UTF-8">

 用於布局的標簽

以前在html4中,我們一般都使用div來對頁面內容進行布局。在html5中,增加了一些專門用於布局的標簽。

section可以完全替代div,用來表示一個區域。

article用來標記一篇文章,評論。

aside用來標記一段旁注。

header用來標記頁面的頭部,比如logo的信息就在這一欄。

footer用來標記頁面的尾部,比如版權聲明就在這一欄。

hgroup一般在header后面使用,用來標記標題組,意思就是文章的主標題和副標題作為一個整體被標記。

nav用來標記網站的導航欄。

當然了,div在html5中還是支持的,不過使用新的結構標簽,可以對搜索引擎更友好,另外頁面開發人員也很容易看懂標簽的作用。下面讓我們看看一個使用這些標簽的完整例子。

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>hello html5</title>
 6 </head>
 7 <body>
 8     <header>
 9         <h1>飛車兔</h1>
10         <hr>
11     </header>
12     <nav>
13         <a href="#">首頁</a>|
14         <a href="#">隨筆</a>|
15         <a href="#">新隨筆</a>|
16         <a href="#">聯系</a>|
17         <a href="#">訂閱</a>|
18         <a href="#">管理</a>
19     </nav>
20     <article>
21         <hgroup draggable="true">
22             <h1>學習html5</h1>
23             <h3>頁面結構標簽</h3>
24         </hgroup>
25         <aside
26             style="font-size: larger; font-style: italic; color: blue; float: right; width: 120px;">
27             這篇文章主要用來介紹html5的頁面結構和結構標簽</aside>
28         <section>
29             <p>2014年10月29日,萬維網聯盟宣布,經過幾乎8年的艱辛努力,HTML5標准規范終於最終制定完成了,並已公開發布。</p>
30             <p>
31                 而HTML5的草稿版本在13年就已經放出。作為一個有追求的程序猿這次想趕一次潮流學習一下HTML5,並作一次筆記以便日后溫故。</p>
32         </section>
33     </article>
34     <footer> &copy;2015-飛車兔工作室版權所有</footer>
35 </body>
36 </html>

 

頁面效果如下圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM