1. 程式人生 > >CSS知識點1:塊元素/行內元素/行內塊元素的區別

CSS知識點1:塊元素/行內元素/行內塊元素的區別

HTML可以將元素分類方式分為行內元素、塊狀元素和行內塊狀元素三種。首先需要說明的是,這三者是可以互相轉換的,使用display屬效能夠將三者任意轉換:
  (1)display:inline;轉換為行內元素

  (2)display:block;轉換為塊狀元素

  (3)display:inline-block;轉換為行內塊狀元素

1.行內元素
  行內元素最常使用的就是span,其他的只在特定功能下使用,修飾字體<b>和<i>標籤,還有<sub>和<sup>這兩個標籤可以直接做出平方的效果,而不需要類似移動屬性的幫助,很實用。

  行內元素特徵:(1)設定寬高無效

         (2)對margin僅設定左右方向有效,上下無效;padding設定上下左右都有效,即會撐大空間,行內元素尺寸                                  由內含的內容決定,盒模型中 padding, border 與塊級元素並無差異,都是標準的盒模型,但是 margin                                    卻只有水平方向的值,垂直方向並沒有起作用。行內元素的水平方向的padding-left,padding-right,margin-                                           left,margin-right 都產生邊距效果,但是豎直方向的padding-top,padding-bottom,margin-top,margin-bottom都                                        不會產生邊距效果。padding設定上下左右都有效,即會撐大空間但是不會產生邊距效果。

         (3)不會自動進行換行

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        div {
            display: inline;
        }
        .div1 {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
        .div2 {
            width: 100px;
            height: 100px;
            background-color: #FF8500;
        }
    </style>

</head>
<body>
    <div class="div1">123</div>
    <div class="div2">13</div>
</body>
</html>

顯示:

(顯示的寬高與內容有關,其本身沒有width、height)

2.塊狀元素
  塊狀元素代表性的就是div,其他如p、nav、aside、header、footer、section、article、ul-li、address等等,都可以用div來實現。不過為了可以方便程式設計師解讀程式碼,一般都會使用特定的語義化標籤,使得程式碼可讀性強,且便於查錯。

  塊狀元素特徵:(1)能夠識別寬高

         (2)margin和padding的上下左右均對其有效

         (3)可以自動換行

         (4)多個塊狀元素標籤寫在一起,預設排列方式為從上至下

3.行內塊狀元素
  行內塊狀元素綜合了行內元素和塊狀元素的特性,但是各有取捨。因此行內塊狀元素在日常的使用中,由於其特性,使用的次數也比較多。

  行內塊狀元素特徵:(1)不自動換行

           (2)能夠識別寬高

           (3)預設排列方式為從左到右

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        div {
            display: inline-block;
        }
        .div1 {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
        .div2 {
            width: 100px;
            height: 100px;
            background-color: #FF8500;
        }
    </style>

</head>
<body>
    <div class="div1">123</div>
    <div class="div2">13</div>
</body>
</html>

顯示:

   (寬高與盒子大小有關)

4 . 行內元素與塊級元素有什麼不同?

區別一: 塊級:塊級元素會獨佔一行,預設情況下寬度自動填滿其父元素寬度 行內:行內元素不會獨佔一行,相鄰的行內元素會排在同一行。其寬度隨內容的變化而變化。

區別二: 塊級:塊級元素可以設定寬高 行內:行內元素不可以設定寬高

區別三: 塊級:塊級元素可以設定margin,padding 行內:行內元素水平方向的margin-left; margin-right; padding-left; padding-right;可以生效。但是豎直方向的margin-bottom; margin-top; padding-top; padding-bottom;卻不能生效。

區別四: 塊級:display:block; 行內:display:inline; 可以通過修改display屬性來切換塊級元素和行內元素