HTML標簽嵌套規則


摘要:

   最近在整理項目時發現有些同事寫的頁面代碼嵌套的太多,而且有些嵌套不對,比如<a><div>內容</div></a>。雖然功能實現了,但是對於瀏覽器渲染引擎的性能還是有些影響。所以就大體上的整理了下HTML標簽的嵌套規則,也希望讀者提出不對之處。

眾所周知,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 ...
    特點:和其他元素都在一行上,高、行高及頂和底邊距不可改變,寬度就是它的文字或圖片的寬度,不可改變
    功能:用於加強內容顯示,控制細節,例如:加粗、斜體等等

舉個例子:

  • 塊級元素

    <div>one</div><div>two</div>

    顯示效果如下:

    one

    two

  • 行內元素

    <span>one</span><span>two</span>

    顯示效果如下:

    onetwo

塊級元素與行內元素並不是一成不變的,我們可以通過CSS來改變他的特性

display: inline; //行內元素

display: block; //塊級元素

雖然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 標簽都是裝載內容的容器

小結:

    ​雖然我們可以嵌套標簽,但是為了提高瀏覽器的渲染效率,我們應該盡少的嵌套標簽,扁平化

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM