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

首頁 > 開發 > HTML5 > 正文

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

2024-09-05 07:19:11
字體:
來源:轉載
供稿:網友

文檔部分,即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中的效果如下:

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩资源在线观看| 91在线无精精品一区二区| 亚洲国产女人aaa毛片在线| 国产精品久久久久秋霞鲁丝| 成人av.网址在线网站| 91精品国产色综合| 韩日精品中文字幕| 国产精品一区二区久久| 国产精品69精品一区二区三区| 91av在线国产| 欧美黄色成人网| 国产日韩欧美夫妻视频在线观看| 中日韩美女免费视频网站在线观看| 亚洲人午夜精品免费| 青青草精品毛片| 国产精品69久久久久| 91大神在线播放精品| 久久久久久一区二区三区| 国产精品美女在线观看| 91老司机在线| 国产精品国产福利国产秒拍| 91精品国产综合久久男男| 色综合久久88| 精品久久久久久久久久| 国产成人一区二区三区小说| 亚洲图中文字幕| 91久热免费在线视频| 日韩av网址在线观看| 国产a∨精品一区二区三区不卡| 欧美性做爰毛片| 国产成人精品一区二区在线| 国自在线精品视频| 欧美性极品xxxx娇小| 日韩欧美国产中文字幕| 上原亚衣av一区二区三区| 色爱精品视频一区| 91亚洲精品久久久| 精品成人久久av| 日韩电影免费观看中文字幕| 亚洲精品网址在线观看| 国产精品福利在线观看网址| 国产成人高潮免费观看精品| 91精品国产91久久久久久久久| 91精品啪在线观看麻豆免费| 亚洲天堂av在线免费观看| 久久精品国产99国产精品澳门| 亚洲综合社区网| 中文字幕视频一区二区在线有码| 国产剧情日韩欧美| 欧美国产亚洲精品久久久8v| 国产精品∨欧美精品v日韩精品| 欧美另类69精品久久久久9999| 日韩网站免费观看| 亚洲黄页网在线观看| 亚洲精品视频网上网址在线观看| 国产欧美最新羞羞视频在线观看| 欧美一级视频在线观看| 久久国产加勒比精品无码| 成人黄色影片在线| 精品久久久久久亚洲国产300| 成人高清视频观看www| 欧美激情综合亚洲一二区| 日韩美女写真福利在线观看| 国产日本欧美一区二区三区在线| 亚洲电影免费观看高清| 欧美激情一区二区三区成人| 久久这里只有精品99| 午夜精品福利电影| 日韩一区二区福利| 欧美综合国产精品久久丁香| 欧美视频在线观看免费网址| 国产一区二区视频在线观看| 国产精品情侣自拍| 久久99久久99精品免观看粉嫩| 中文字幕日韩av电影| 欧美性极品xxxx做受| 91在线观看免费网站| 海角国产乱辈乱精品视频| 色与欲影视天天看综合网| 国产成人鲁鲁免费视频a| 国产噜噜噜噜噜久久久久久久久| 成人av在线网址| 超碰91人人草人人干| 国产成人短视频| 国产视频精品va久久久久久| 欧美精品午夜视频| 久久久在线观看| www.国产精品一二区| 国产婷婷色综合av蜜臀av| 亚洲国产成人精品久久| 亚洲另类图片色| 俺去啦;欧美日韩| 国产69精品99久久久久久宅男| 国产在线拍揄自揄视频不卡99| 欧美成人精品在线| 欧美日韩性视频在线| 日韩av成人在线| 亚洲精品日韩激情在线电影| 91精品国产91久久久久久不卡| 亚洲精品aⅴ中文字幕乱码| www.精品av.com| 欧美午夜片在线免费观看| 国产精品wwwwww| 精品国产老师黑色丝袜高跟鞋| 久久不射电影网| 伊人亚洲福利一区二区三区| 亚洲欧美国产va在线影院| 国产精品丝袜白浆摸在线| 亚洲黄色在线看| 国产福利成人在线| 午夜精品久久17c| 国产精品久久久久久久久久小说| 欧美大胆a视频| 久久精品中文字幕一区| 久久国产视频网站| 成人伊人精品色xxxx视频| 大伊人狠狠躁夜夜躁av一区| 国产欧美中文字幕| 欧美福利视频网站| 3344国产精品免费看| 久久久久久久久国产精品| 欧美日韩精品在线视频| 福利精品视频在线| 日韩精品高清视频| 欧美性猛交xxxx久久久| 日韩人体视频一二区| 久久伊人精品一区二区三区| 久久久久久av| 国产日本欧美一区二区三区在线| 欧美黄色片在线观看| 免费99精品国产自在在线| 2019中文字幕在线| 色久欧美在线视频观看| 色www亚洲国产张柏芝| 亚洲天堂视频在线观看| 国产精品欧美风情| www.亚洲人.com| 精品无人区太爽高潮在线播放| 国产免费久久av| 亚洲网在线观看| 国产成人精品一区二区| 在线亚洲午夜片av大片| 中文字幕日韩在线观看| 欧美性极品少妇精品网站| 国产精品日本精品| 亚洲人高潮女人毛茸茸| 97成人精品区在线播放| 亚洲天堂av在线免费观看| 91在线中文字幕| 国产精品对白刺激| 97色在线视频| 亚洲电影免费观看高清| 一夜七次郎国产精品亚洲| 成人a免费视频| 91精品视频免费| 亚洲aa在线观看| 538国产精品一区二区在线| 日韩激情av在线播放| 欧美日韩午夜剧场| 国产噜噜噜噜久久久久久久久| 亚洲精品国产欧美| 国产成人91久久精品| 91极品女神在线| 国产精品嫩草影院一区二区|