麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > HTML > 正文

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

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

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

  1)容易修改和維護。通過HTML5的語義元素,可以傳達出額外的結構化信息,讓人很容易理解文檔的整體布局和不同區塊的作用。
  2)無障礙性。現代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:[email protected]">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:[email protected]">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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 色屁屁xxxxⅹ免费视频 | 欧美黄色大片免费观看 | 久久久久女人精品毛片九一 | 欧美特黄一级高清免费的香蕉 | 色视频在线 | 天天艹综合 | 国产一级一国产一级毛片 | 性生活视频软件 | 国产999精品久久久久 | 日韩字幕在线观看 | 农村少妇吞精夜夜爽视频 | 国产一级淫片免费看 | 九九热精品视频在线 | 一级黄色av电影 | 久久国产精品久久久久久久久久 | 久久精品a一级国产免视看成人 | 欧美囗交 | 爽爽淫人综合网网站 | 国产在线91| 中国女警察一级毛片视频 | 99视频观看 | 久久艹精品视频 | 久久久久久久久久综合 | 亚洲啪| 综合精品视频 | 色婷婷a v| 91福利国产在线观一区二区 | 亚洲aⅴ免费在线观看 | 久久免费视频5 | 毛片在线免费视频 | 国产精品欧美久久久久一区二区 | 九九热免费视频在线观看 | 成人免费网站在线观看 | 666sao| 日韩高清影视 | 成人免费在线观看视频 | 亚洲国产视频在线 | 黄色av电影在线播放 | 国产亚洲精品久久久久婷婷瑜伽 | 精品亚洲va在线va天堂资源站 | 激情网站免费观看 |