行內元素&塊狀元素

原文地址:block、inline、inline-block區別以及標籤嵌套

1、block

   將元素轉爲塊元素,塊元素佔一行,可以設置寬和高。

2、inline

  將元素轉爲行內元素,佔一行,不可以設置寬和高。

3、inline-block

  將元素設置爲行內塊元素,這時元素既可以設置寬和高,又佔一行。但這時的元素之間會出現縫隙,解決辦法:1)設置浮動 2)將父元素的font-size設置爲0,子元素設置爲實際大小

4、常見的幾種元素

  塊級元素 :div、h系列、li、dt、dd、p

      行內元素  :span、u、a、、em、b、i、u、em

      行內塊元素:input 、img 、button 、texterea 、label。

5、p標籤不能包含div標籤

  塊級元素和行內元素之間的嵌套,是塊級可以嵌套行內元素和某些塊級元素,而行內元素不能嵌套塊級元素,可以嵌套文本和其他行內元素。但有幾個特殊的塊級元素只能包含行內元素, h1~h6、p、dt,因此p標籤不能包含div元素,因爲瀏覽器渲染的緣故,p包含div元素時會被渲染成:<p>xxx</p><div>xxxx</div><p></p>。

  li 內可包含 div 標籤

     <li><div></div></li>

  塊級元素與塊級元素並列、行內元素與行內元素並列

    <div><h2></h2><p></p></div>  正確

    <div><a href="#"></a><span></span></div>  正確

    <div><h2></h2><span></span></div>  錯誤,行內元素與塊級元素並列了(這條???)


關於行內元素的padding和margin,由a測試可得,padding在四個方向都是有效的。margin在豎直方向無效。

--------------------------小實驗--------------------------

(1)添加padding之前,沒有margin:


(2)添加padding之後,沒有margin:


所以說行內元素的padding在四個方向都是有效的,但是豎直方向上的padding是不會對周邊產生影響的。

(3)添加margin之後:


可見水平方向的margin有效。行內元素的margin在豎直方向上應該也是有效的,但是不會產生影響就像padding一樣,再加margin的不可見性(上不了色加不了框啥的)所以就跟完全不存在似的(一個猜想,不一定對)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章