使用DIV+CSS布局時,我們需要通過為div命名的方式,來區分網頁中不同的模塊。在HTML5中布局方式有了新的變化,HTML5中增加了新的結構標簽,如header標簽、nav標簽、article標簽等,具體介紹如下。
1. header標簽
HTML5中的header標簽是一種具有引導和導航作用的結構標簽,該標簽可以包含所有通常放在頁面頭部的內容。header標簽通常用來放置整個頁面或頁面內的一個內容區塊的標題,也可以包含網站Logo圖片、搜索表單或者其他相關內容。其基本語法格式如下:
<header>
<h1>網頁主題</h1>
...
</header>
在上面的語法格式中,<header></header>的使用方法和<div class="header"></div>類似。
注意:
在HTML網頁中,并不限制header標簽的個數,一個網頁中可以使用多個header標簽,也可以為每一個內容塊添加header標簽。
2. nav標簽
nav標簽用于定義導航鏈接,是HTML5新增的標簽,該標簽可以將具有導航性質的鏈接歸納在一個區域中,使頁面元素的語義更加明確。nav標簽的使用方法和普通標簽類似,例如下面這段示例代碼:
<nav>
<ul>
<li><a href="#">首頁</li>
<li><a href="#">公司概況</li>
<li><a href="#">產品展示</li>
<li><a href="#">聯系我們</li>
</ul></nav>
在上面這段代碼中,通過在nav標簽內部嵌套無序列表ul來搭建導航結構。通常一個HTML頁面中可以包含多個nav標簽,作為頁面整體或不同部分的導航。具體來說,nav標簽可以用于以下幾種場合。
● 傳統導航條:目前主流網站上都有不同層級的導航條,其作用是跳轉到網站的其他主頁面。
● 側邊欄導航:目前主流博客網站及電商網站都有側邊欄導航,目的是將當前文章或當前商品頁面跳轉到其他文章或其他商品頁面。
● 頁內導航:它的作用是在本頁面幾個主要的組成部分之間進行跳轉。
● 翻頁操作:翻頁操作切換的是網頁的內容部分,可以通過點擊“上一頁”或“下一頁”切換,也可以通過點擊實際的頁數跳轉到某一頁。
除了以上幾點以外,nav標簽也可以用于其他導航鏈接組中。需要注意的是,并不是所有的鏈接組都要被放進nav標簽,只需要將主要的和基本的鏈接放進nav標簽即可。
3. footer標簽
footer標簽用于定義一個頁面或者區域的底部,它可以包含所有放在頁面底部的內容。在HTML5出現之前,一般使用<div class="footer"></div>標簽來定義頁面底部,而現在通過HTML5的footer標簽可以輕松實現。與header標簽相同,一個頁面中可以包含多個footer標簽。
4. article標簽
article標簽代表文檔、頁面或者應用程序中與上下文不相關的獨立部分,該元素經常被用于定義一篇日志、一條新聞或用戶評論等。一個article標簽通常有它自己的標題(可以放在header標簽中)和腳注(可以放在footer標簽中),例如下面的示例代碼。
<article>
<header>
<h1>秋天的味道</h1>
<p>你想不想知道秋天的味道?它是甜、是苦、是澀...</p>
</header>
<footer>
<p>著作權歸XXXXXX公司所有...</p>
</footer></article>
需要注意的,在上面的示例代碼中還缺少主體內容。主體內容通常會寫在header和footer之間,通過多個section標簽進行劃分。一個頁面中可以出現多個article標簽,并且article標簽可以嵌套使用。
5. section標簽
section標簽表示一段專題性的內容,一般會帶有標題,主要應用在文章的章節中。例如,新聞的詳情頁有一篇文章,該文章有自己的標題和內容,因此可以使用article標簽標注,如果該新聞內容太長,分好多段落,每段都有自己的小標題,這時候就可以使用section標簽把段落標注起來。在使用section標簽時,需要注意以下幾點:
● section不僅僅是一個普通的容器標簽。當一個標簽只是為了樣式化或者方便腳本使用時,應該使用div標簽。
如果article標簽、aside標簽或nav標簽更符合使用條件,那么不要使用section標簽。
● 沒有標題的內容模塊不要使用section標簽定義。
值得一提的是,在HTML5中,article標簽可以看作是一種特殊的section標簽,它比section標簽更具有獨立性,即section標簽強調分段或分塊,而article標簽強調獨立性。如果一塊內容相對來說比較獨立、完整時,應該使用article標簽;但是如果想要將一塊內容分成多段時,應該使用section標簽。
6. aside標簽
aside標簽用來定義當前頁面或者文章的附屬信息部分,它可以包含與當前頁面或主要內容相關的引用、側邊欄、廣告、導航條等有別于主要內容的部分。aside標簽的用法主要分為兩種:
● 被包含在article標簽內作為主要內容的附屬信息。
● 在article標簽之外使用,作為頁面或網站的附屬信息部分。最常用的的使用形式是側邊欄。
紹了在HTML5中具體新增了哪些結構元素,以及這些元素的定義和使用方法。
接下來看一下在HTML5中進行總體頁面布局的時候,具體應該怎樣運用這些結構元素。
大綱
通過使用新的結構元素,HTML5的文檔結構比大量使用div元素的HTML 4的文檔結構更加清晰明確。
如果再規劃好文檔結構的大綱,就可以創建出對于閱讀者或屏幕閱讀程序來說,都很清晰易讀的文檔結構。
所謂大綱,簡單來說就是文檔中各內容區塊的結構編排。
內容區塊可以使用標題元素(hl~h6)來展示各級內容區塊的標題。
綜合運用各級內容區塊的標題創建好文檔的目錄后,該目錄就成為一個大綱了。
關于內容區塊的編排,可以分為“顯示編排”與“隱式編排”兩種方式。
顯式編排
顯式編排是指明確使用section等元素創建文檔結構,在每個內容區塊內使用標題(h1~h6、hgroup等),顯式編排內容區塊的代碼如下。
<body>
<h1>網頁內容區塊的標題</h1>
<p>網頁內容區塊的正文</p>
<section>
<h2>section 內容區塊的標題</h2>
<p>section 內容區塊的正文</p>
</section>
</body>
隱式編排
隱式編排是指不明確使用section等元素,而是根據頁面中所書寫的各級標題(h1~h6、hgroup等)
把內容區塊自動創建出來。因為HTML5分析器只要看到書寫了某個級別的標題,
就會判斷存在相對應的內容區塊。隱式編排內容區塊的代碼如下。
<body>
<h1>網頁內容區塊的標題</h1>
<p>網頁內容區塊的正文</p>
<!--分析器根據h2 等元素判斷生成內容區塊-->
<h2>section 內容區塊的標題</h2>
<p>section 內容區塊的正文</p>
</body>
兩種編排方式進行對比,很明顯,顯式編排更加清晰、易讀。
TML5的基本結構和它的語法變化
HTML5的兼容性,它可以在老版本的瀏覽器上正常運行。
HTML5的實用性,內部沒有特別的復雜功能,只是封裝了一些常用的簡單功能。
HTML5的基本結構,文檔的根元素依然是<html.../>,這個不變。在<html.../>元素里包含<head.../>和<body.../>兩個子元素。<head.../>元素主要定義HTML5的頁面頭,<title.../>元素用于定義頁面標量,除了這些在<head.../>元素中定義meta、樣式單等信息;<body.../>元素用于定義頁面主體,包括頁面的文本內容和大部分標簽。
HTML5的語法變化
1、標簽不再區分大小寫
在HTML5中如:<P>程序世界</p>元素的開始標簽和結束標簽大小寫不匹配,但是這符合HTML5的規范。
2、元素可以省略結束標簽
HTML5非常寬容,它允許部分HTML元素省略標簽,甚至允許同時省略開始標簽和結束標簽。具體來說有一下三種:
(1)空元素語法的元素:area base br col command embed hr img input keygen link mate param source wbr 。
這些空元素標簽不允許將開始標簽和結束標簽分開定義。
(2)可以省略結束標簽的元素:colgroup dt dd li optgroup option p rt rp thead tbody tfoot tr td th。
這種語法純屬向以前那些不規范的HTML頁面妥協。
(3)可以省略全部標簽的元素:html head body tbody。
3、允許省略屬性值的屬性
XHTML要求所有元素的所有屬性名都應該小寫,所有屬性都必須指定屬性值,不能簡寫,而且所有屬性值必須使用引號引起來。
HTML5相比起來比較松散,允許部分“標志性”的屬性可以省略屬性值。當然也支持那種嚴格的語法。
4、允許屬性值不使用引號
傳統的XHTML按XML規范對屬性值進行要求,要求所有的屬性值都必須用引號引起來,但HTML5允許直接給出屬性值,即使不放在引號中也是正確的。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。