亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

html5組織文檔結構_動力節點Java學院整理

2024-08-26 00:19:44
字體:
來源:轉載
供稿:網友

文檔部分,即body部分,包含了訪問者可以看到的內容。傳統的HTML文檔通常通過div元素來組織文檔結構,再配上適當的樣式表。但div元素的問題是缺少語義信息,在查看別人的源代碼時,必須費點勁才能理解哪個div表示什么,整個頁面時怎么搭建起來的,通常需要在HTML頁面、樣式表和瀏覽器之間跳來跳去。特別是如果HTML頁面的組織結構不好,很容易就會導致困惑。對此,HTML5中新增了許多語義元素,用來替換div元素,并且將語義和呈現分離。
所有的語義元素都有一個顯著的特點:不真正做任何事,它們在外觀上對內容的影響微乎其微,甚至根本沒有影響。語義元素的存在主要有以下幾條理由:
 

  1)容易修改和維護。通過HTML5的語義元素,可以傳達出額外的結構化信息,讓人很容易理解文檔的整體布局和不同區塊的作用。
  2)無障礙性?,F代web設計的一個重要主題,就是讓任何人都能無障礙地訪問網頁,就是讓使用屏幕閱讀器和其他輔助工具的人都能在頁面中自由導航。
  3)搜索引擎優化。使用HTML5能夠讓搜索引擎能夠更好的理解你的網站,可以讓它們收集到它們索引的頁面的更多信息。
  4)未來的功能。新瀏覽器和Web編輯工具未來一定會利用語義元素。比如:將文檔的主要部分重點呈現。

最關鍵的是,如果你正確地使用了語義元素,就能夠創建更加清晰的頁面結構,就能夠適應未來的瀏覽器和Web設計工具的發展趨勢。下面將介紹用于組織文檔結構的語義元素,首先以一個例子來了解HTML5通常的文檔結構。

HTML5文檔結構

老的HTML頁面都是用div元素,再配上適當的樣式表,但div元素的問題在于,它本身不反映與頁面相關的任何信息。而HTML5的頁面就是將這些div元素替換為具有描述性的語義元素。下面的例子包含了HTML5中用于描述文檔結構的主要的語義元素,語義元素的使用和它們標注的內容的含義密切相關,理解了它們的含義,你就能靈活的使用它們。

<body> <header>  <hgroup>   <h1>Things I like</h1>   <h2>by Adam Freeman</h2>  </hgroup>  <address>   Questions and comments?<a href="mailto:adam@myboringblog.com">Email me</a>  </address>  <nav>   <h1>Contents</h1>   <ul>    <li><a href="#fruitsilike">Fruits I Like</a></li>    <ul>     <li><a href="#morefruit">Additional Fruits</a></li>    </ul>    <li><a href="#activitiesilike">Activities I Like</a></li>    <ul>     <li><a href="#tritypes">Kinds of Triathlon</a></li>     <li><a href="#mytri">The kind of triathlon I am aiming for</a></li>    </ul>   </ul>  </nav> </header> <main role="main">  <article>   <header>    ......   </header>   <aside>    <h1>Why Fruit is Healthy</h1>    <section>     Here ar three reasons why everyone should eat more fruit:     <ol>      <li>Fruit contains lots of vitamins</li>      <li>Fruit is a source of fibre</li>      <li>Fruit contains few calories</li>     </ol>    <section>   </aside>   <section>    <p>I like to swim, cycle and run. I am in training for my first triathlon, but it is hard work.</p>    <details>     <summary>Kinds of Triathlon</summary>     There are different kinds of triathlon - sprint, Olympic and so on. I am aiming for Olympic, which consists of the following:     <ol>      <li>1.5km swim</li>      <li>40km cycle</li>      <li>10km run</li>     </ol>    </details>   </section>  </article> </main> <nav>  More Information:  <a href="http://fruit.org">Learn More About Fruit</a>  <a href="http://triathlon.org">Learn More About Triathlons</a> </nav> <footer id="mainFooter">  ©2011, Adam Freeman. <a href="http://apress.com">Visi Apress</a> </footer></body>

在上面的文檔中包含了許多HTML5的元素,如果你想要將不同的元素在呈現上區分開來,你需要配合上適當的外觀,這篇文章不涉及外觀。

標題

HTML定義了一套標題元素體系,從h1到h6,h1級別最高。同級標題通常用來將內容分作幾個部分,每個部分一個主題。而各級標題則通常用來表示同一主題的各個方面。他們共同構成了文檔的大綱,因此用戶只要瀏覽文檔的各級標題即可初步了解其大意和結構,通過標題體系用戶還可以迅速導航到感興趣的內容。

<body> <h1>Fruits I like</h1> ......</body>

子標題

hgroup元素可以用來將幾個標題元素作為一個整體處理(如果不使用hgroup元素,主標題和子標題將被作為兩個標題,而使用hgroup之后,主標題和子標題將被作為一個標題對待),以免擾亂HTML文檔的大綱。

<body> <hgroup>  <h1>Fruits I like</h1>  <h2>How I Learned to Love Citrus</h2> </hgroup> ......</body>

在這里,“How I Learned to Love Citrus”就是作為“Fruits I like”的子標題存在,兩個將被作為一個標題對待,通常在樣式上會將標題和子標題靠的更緊。

標記頁面的主要區域

頁面通常只有一個部分代表其主要內容,可以將這樣的內容放在main元素中,該元素在一個頁面僅使用一次。

<body> ...... <main role="main">  <article>   ......  </article> </main> ......</body>

role="main"可以幫助屏幕閱讀器定位頁面的主要區域。

創建文章

article元素代表HTML元素中一段獨立成篇的內容,可以獨立于頁面其余內容發布或使用,可以看作一篇文章。article可以嵌套在另一個article中,只要里面的article與外面的article是部分與整體的關系,且在語義上是可以獨立存在的。一個頁面可以有多個article元素,每個article都可以獨立成篇,一個article可以包含一個或多個section元素(見下一節)。

<body> ...... <main role="main">  <article>   <header>    ......   </header>   <aside>    ......   </aside>   <section>    ......   </section>  </article>  <article>   <header>    ......   </header>   <aside>    ......   </aside>   <section>    ......   </section>  </article>  ...... </main> ......</body>

section

section元素是HTML5新增,用于表示文檔中的一節。并沒有明確的規定什么情況下該使用section元素,但通常section元素應該用于包含那種應該列入文檔大綱或目錄中的內容。section可以屬于某個article,一個article可以包含一個或者多個section。section元素通常包含一個或多個段落及一個標題,不過標題并不是必需的。

<body> <section>  <hgroup>   <h1>Fruits I Like</h1>   <h2>How I Learned to Love Citrus</h2>  </hgroup>  I like apples and oranges.  <section>   <h1>Additional fruits</h1>   I also like bananas, mangoes, cherries, apricots, plums, peaches and grapes.   <section>    <h1>More information</h1>    You can see other fruits I like <a href="fruitlist.html">here</a>.   </section>  </section> </section></body>

 上面定義了3個section,逐層嵌套,每個section的標題都是h1。不過在不同的瀏覽器上,section的層級結構的默認外觀會有差異,可以通過創建自定義樣式來解決這個問題。section和article的區別在于,section在本質上組織性和結構性更強,可以看作一個獨立的段落,而article代表的是自包含的容器。

首部和尾部

header元素表示一節的首部,可以包含刊頭和徽標。header元素通常包含一個標題元素或一個hgroup元素,還可以包含該節的導航元素。一個頁面可以包含任意數量的header元素,他們的含義可以根據其上下文而不同。
footer元素表示一節的尾部,通常包含該節的總結信息,還可以包含作者介紹、版權信息、到相關內容的鏈接、徽標及免責聲明等。

<body> <header>  <hgroup>   <h1>Things I like</h1>   <h2>by Adam Freeman</h2>  </hgroup> </header> <section>  <header>   <hgroup>    <h1>Fruits I Like</h1>    <h2>How I Learned to Love Citrus</h2>   </hgroup>  </header>  ...... </section> <section>  <header>   <h1>Activities I like</h1>  </header>  ...... <section> <footer id="mainFooter">  ©2011, Adam Freeman. <a href="http://apress.com">Visi Apress</a> </footer></body>

本例定義了3個header元素。body元素的header元素作為整個文檔的首部。
注意:不能在footer中嵌套header或另一個footer,也不能將tooter嵌套在header或address元素里。

導航區域

nav元素表示文檔中的導航區域,包含到其他頁面或同一頁面的其他部分的鏈接。并不是所有的鏈接都需要放到nav元素中,該元素的目的是規劃出文檔的主要導航區域。

<body> <header>  <hgroup>   <h1>Things I like</h1>   <h2>by Adam Freeman</h2>  </hgroup>  <nav>   <h1>Contents</h1>   <ul>    <li><a href="#fruitsilike">Fruits I Like</a></li>    <ul>     <li><a href="#morefruit">Additional Fruits</a></li>    </ul>    <li><a href="#activitiesilike">Activities I Like</a></li>    <ul>     <li><a href="#tritypes">Kinds of Triathlon</a></li>     <li><a href="#mytri">The kind of triathlon I am aiming for</a></li>    </ul>   </ul>  </nav> </header> <section>  ...... </section> <section>  ...... </section> <nav>  More Information:  <a href="http://fruit.org">Learn More About Fruit</a>  <a href="http://triathlon.org">Learn More About Triathlons</a> </nav> <footer id="mainFooter">  ...... </footer></body>

這里使用了兩個nav元素,在header中的部分為用戶提供了本文檔中的導航方法,另一個放在文檔末尾,為用戶提供了一些額外的鏈接。
注意不要將所有鏈接都放在nav區塊中,nav通常應該只用于頁面中最大最主要的導航區。例如上面提供的文檔導航是由必要放在nav區塊中的,可是,如果只是一些許可和聯系方式的信息,就沒必要放在nav區塊中了。

附注欄

aside元素用來表示跟周邊內容稍微沾一點邊的內容,類似于書籍或雜志中的側欄,其內容往往與頁面的其他內容、article或section有點關系,但并非主體內容的一部分,它可以是一些背景信息、到相關文章的鏈接,諸如此類。

<body> <header>  ...... </header> <article>  <header>   ......  </header>  <aside>   <h1>Why Fruit is Healthy</h1>   <section>    Here ar three reasons why everyone should eat more fruit:    <ol>     <li>Fruit contains lots of vitamins</li>     <li>Fruit is a source of fibre</li>     <li>Fruit contains few calories</li>    </ol>   <section>  </aside>  ...... </article> <footer id="mainFooter">  ...... </footer></body>

你可以像在印刷品中使用附注欄一樣使用aside元素,可以通過它介紹另一個相關的話題,或者對主文檔中提出的某個觀點進行解釋。也可以使用aside元素來存放廣告、相關內容鏈接等。

聯系信息

address元素用于表示文檔或article元素的聯系信息。address元素如果為article元素的子元素時,它提供的聯系信息被視為該article的;當address元素為body元素的子元素時,它提供的聯系信息被視為整個文檔的。address元素不能用來表示文檔或文章的聯系信息之外的地址,例如:不能用來表示客戶或用戶的地址。

<body> <header>  ......  <address>   Questions and comments?<a href="mailto:adam@myboringblog.com">Email me</a>  </address>  ...... </header> ......</body>

詳情區域

details元素在文檔中生成一個區域,用戶可以展開它以了解關于某主題的更多詳情。details元素通常包含一個summary元素,用于為該詳情區域生成一個說明標簽或標題。

<body> <header>  ...... </header> <article>  <header>   ......  </header>  <section>   <p>I like to swim, cycle and run. I am in training for my first triathlon, but it is hard work.</p>   <details>    <summary>Kinds of Triathlon</summary>    There are different kinds of triathlon - sprint, Olympic and so on. I am aiming for Olympic, which consists of the following:    <ol>     <li>1.5km swim</li>     <li>40km cycle</li>     <li>10km run</li>    </ol>   </details>  </section> </article></body>

details元素在瀏覽器中是有默認外觀的,在chrome中的效果如下:

html5組織文檔結構,html5組織文檔,html5文檔結構

details元素默認情況下會是折攏狀態,只有其summary元素的內容可見,要讓頁面一開始就展開,可以使用它的open屬性(布爾屬性)。

<details open> <summary>Kinds of Triathlon</summary> There are different kinds of triathlon - sprint, Olympic and so on. I am aiming for Olympic, which consists of the following: <ol>  <li>1.5km swim</li>  <li>40km cycle</li>  <li>10km run</li> </ol></details>

效果如下:

html5組織文檔結構,html5組織文檔,html5文檔結構

小結

HTML5的語義元素是其發明者對已有的網頁研究的基礎上定義出來的,他們不僅瀏覽了自己喜歡的站點,也研讀了谷歌對十億個網頁的統計信息。如果你感興趣,可以在這里(google的站點,無法直接查看)查看。
 

目前,HTML5的語義元素在所有現代瀏覽器上都得到了支持,但對于一些老版本的瀏覽器(主要是IE9之前的Internet Explorer),需要一些補救措施。由于語義元素本身什么都不做,要支持它們,只要讓瀏覽器把它們當作普通的div元素就行,而剩下的工作,就是為它們添加點樣式規則,之后,即使使用老古董瀏覽器來訪問這些網頁,也都沒有問題了。幸運的是,這些工作Modernizr已經幫你實現了。


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综合色综合久久综合频道88| 日韩中文在线观看| 欧美激情va永久在线播放| 奇门遁甲1982国语版免费观看高清| 97视频在线播放| 亚洲精品成人久久电影| 日韩免费av片在线观看| 亚洲欧美三级伦理| 亚洲欧美在线一区| 这里只有精品在线播放| 北条麻妃一区二区三区中文字幕| 国产成人精品久久二区二区91| 久久韩剧网电视剧| 丝袜亚洲欧美日韩综合| 51久久精品夜色国产麻豆| 亚洲欧洲日产国码av系列天堂| 亚洲欧美日韩成人| 欧美激情亚洲综合一区| 国产精品精品久久久久久| 中文字幕在线看视频国产欧美| 亚洲国产中文字幕在线观看| 欧美性在线观看| 91在线观看免费| 国自在线精品视频| 日韩精品在线观看网站| 91牛牛免费视频| 亚洲精选一区二区| 亚洲国产成人精品久久| 国产色婷婷国产综合在线理论片a| 成人久久精品视频| 日韩av综合网| 91美女福利视频高清| 国产精品第1页| 福利一区视频在线观看| 97人人爽人人喊人人模波多| 欧美成人h版在线观看| 精品中文字幕在线观看| 亚洲片av在线| 精品国产一区二区三区久久久| 最新国产成人av网站网址麻豆| 亚洲码在线观看| 成人在线播放av| 亚洲第一免费网站| 亚洲精品电影在线观看| 亚洲热线99精品视频| 久久国产天堂福利天堂| 成人福利免费观看| 91精品久久久久久久久久入口| 亚洲淫片在线视频| 成人深夜直播免费观看| 91久久精品国产91久久| 久久精品青青大伊人av| 中文综合在线观看| 亚洲福利在线观看| 久热在线中文字幕色999舞| 国产网站欧美日韩免费精品在线观看| 51ⅴ精品国产91久久久久久| 91精品国产91久久久久| 国产精品女人久久久久久| 欧美裸体xxxx极品少妇| 亚洲另类欧美自拍| 亚洲影院在线看| 亚洲欧美国产va在线影院| 茄子视频成人在线| 欧美成年人视频网站欧美| 97高清免费视频| 亚洲欧美成人在线| 亚洲精品免费网站| 国内精品久久久| 亚洲精品色婷婷福利天堂| 久久婷婷国产麻豆91天堂| 精品国产一区二区三区久久| 中文字幕亚洲欧美一区二区三区| 亚洲天堂精品在线| 日日狠狠久久偷偷四色综合免费| 日韩av在线直播| 亚洲视频在线观看| 久久久影视精品| 精品女厕一区二区三区| 亚洲精品美女视频| 国产精品免费一区二区三区都可以| 亚洲激情在线视频| 日韩在线激情视频| 欧美综合在线第二页| 国自在线精品视频| 日韩一区二区在线视频| 国产精品6699| 成人av在线亚洲| 91精品国产自产在线老师啪| 亚洲欧美日本精品| 91免费观看网站| 亚洲国产一区自拍| 亚洲天堂日韩电影| 一区二区中文字幕| 国a精品视频大全| 日本高清+成人网在线观看| 亚洲美女黄色片| 亚洲人av在线影院| 国产成人精品在线视频| 久久综合色影院| 国产成人一区二区三区| 亚洲欧美日韩高清| 日韩欧美在线免费观看| 亚洲第一福利在线观看| 欧美一级视频免费在线观看| 欧美wwwxxxx| 日韩有码在线播放| 中文字幕国产亚洲| 亚洲精品一区二区三区婷婷月| 亚洲影院色无极综合| 日韩视频永久免费观看| 亚洲精品日韩欧美| 成人国产精品av| 综合激情国产一区| 亚洲欧美另类国产| 欧美高清视频在线播放| 欧美专区在线视频| 日韩av电影手机在线| 亚洲欧美国产一区二区三区| 欧美丰满少妇xxxxx做受| 国产精品久久久久99| 久久久久久网址| 欧美日韩在线第一页| 久久国产加勒比精品无码| 国产不卡精品视男人的天堂| 热99精品里视频精品| 国产成人一区二区三区小说| 国产视频在线一区二区| 欧美电影第一页| 亚洲另类欧美自拍| 亚洲精品少妇网址| 国产精品中文字幕久久久| 亚洲福利在线视频| 亚洲欧美中文在线视频| 国产亚洲人成a一在线v站| 亚洲天堂第一页| 国产精品爱啪在线线免费观看| 韩国视频理论视频久久| 国产欧美久久一区二区| 欧美伊久线香蕉线新在线| 欧美乱大交xxxxx| 中文字幕日韩免费视频| 日韩女优人人人人射在线视频| 亚洲国产精品资源| 8x海外华人永久免费日韩内陆视频| 欧美大学生性色视频| 亚洲r级在线观看| 久久久久久久国产| 亚洲成人精品av| 日韩中文在线中文网在线观看| 国产日本欧美一区二区三区| 欧美在线激情网| 亚洲奶大毛多的老太婆| 日韩高清有码在线| 97视频免费在线看| www.亚洲一区| 精品久久久久久亚洲国产300| 日韩精品一区二区三区第95| www.久久久久| 91精品国产免费久久久久久| 久久久国产精品x99av| 色综合视频网站| 中文字幕在线观看日韩| 国产精品免费电影|