HTML嵌套規則

來源:互聯網
上載者:User

標籤:htm   提高   屬性   扁平化   active   index   code   ade   行內元素   

  先說基礎,HTML標籤有兩類:

  1、區塊層級元素

  div、h1~h6、address、blockquote、center、dir、dl、dt、dd、fieldset、form、hr、isindex、menu、noframes、noscript、ol、p、pre、table、ul……

  特點:總是在新行上開始,高度、行高以及頂和底邊距都可控制,寬度預設的它的容器的100%,除非設定一個寬度。

  功能:主要用來搭建網站構架、頁面配置、承載內容。

  2、行內元素

  span、a、abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、strike、strong、sub、sup、textarea、tt、u、var……

  特點:和其他元素都在一行上,高、行高及頂和底邊距不可改變,寬度就是它的文字或圖片的寬度,不可改變。

  功能:用於加強內容顯示,控制細節,例如:加粗、斜體等。

 

  雖然HTML標籤有很多,並且我們在製作頁面的時候可以無限的嵌套,但是嵌套也有規則,不能隨意的嵌套。

  有些標籤是固定的嵌套規則,例如:ul包含li、ol包含li、dl包含dt和dd等,還有很多是獨立的標籤。為了寫出更優秀的頁面,一般遵循下面的規則:

  1、區塊層級元素與區塊層級元素平級、內嵌元素與內嵌元素平級;

<div><span></span><p></p></div>  //span是內行元素,p是區塊層級元素,所以這個是錯誤的嵌套<div><span></span><a></a></div>  //這個是正確的嵌套

  2、區塊層級元素可以包含內嵌元素或某些區塊層級元素,但內嵌元素不能包含區塊層級元素,它只能包含其他的內嵌元素;

<div><span></span></div><span><span></span></span>

  3、有幾個特殊的區塊層級元素只能包含內嵌元素,不能再包含區塊層級元素;

h1、h2、h3、h4、h5、h6、p、dt

  4、區塊層級元素不能放在標籤p裡面;

  5、li標籤可以包含div標籤,因為li和div標籤都是裝在內容的容器。

  小結:為了提高瀏覽器的渲染效率,我們應該盡少的嵌套標籤,扁平化。

 

  關於HTML5新特性

  在HTML5 中,元素不再按照display屬性來區分,而是按照內容模型來區分,分為:

  中繼資料型(metadata content)是可以被用於說明其他內容的表現或行為,或者在當前文檔和其他文檔之間建立聯絡的元素;

  區塊型(sectioning content)是用於定義標題及頁尾範圍的元素;

  標題型(heading content)定義一個區塊/章節的標題;

  文檔流型(flow content)是在應用程式和文檔的主體部分中使用的大部分元素;

  語句型(phrasing content)是用於標記段落級文本的元素;

  內嵌型(embedded content)是引用或插入到文檔中其他資源的元素;

  互動型(interactive content)是專門用於與使用者互動的元素。

  元素不屬於任何一個類別,被稱為穿透的;元素可能屬於不止一個類別,稱為混合的。

  下面對常用標籤的嵌套規則進行總結

  1、<h1>、<h2>、<h3>、<h4>、<h5>、<h6>、<p>的子項目是語句型元素

  2、<header>、<footer>不可嵌套<header>、<footer>

  3、<a>的子項目是transparent(以它的父元素允許的子項目為準),但不包括互動型元素(interactive content)

  4、<form>不可嵌套<form>

  5、<button>子項目是語句型元素,不可嵌套互動型元素(interactive content)

  6、<caption>不可嵌套<table>

  7、<dt>、<th>不可嵌套<header>、<footer>、區塊型元素(sectioning content)、標題型元素(heading content)

  

  PS:以上內容整理自網路,如有錯誤或遺漏歡迎大家指正。

 

HTML嵌套規則

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.