1. 程式人生 > >HTML行內元素、塊狀元素、行內塊狀元素的區別

HTML行內元素、塊狀元素、行內塊狀元素的區別

height 方式 mar 兩個 code 代碼 ext light body

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

  (1)display:inline;轉換為行內元素

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

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

 1 <!DOCTYPE html>
 2 <html>
 3 
 4     <head>
 5         <meta charset="utf-8" />
 6         <title>
測試案例</title> 7 <style type="text/css"> 8 span { 9 display: block; 10 width: 120px; 11 height: 30px; 12 background: red; 13 } 14 15 div { 16 display: inline
; 17 width: 120px; 18 height: 200px; 19 background: green; 20 } 21 22 i { 23 display: inline-block; 24 width: 120px; 25 height: 30px; 26 background: lightblue
; 27 } 28 </style> 29 </head> 30 31 <body> 32 <span>行內轉塊狀</span> 33 <div>塊狀轉行內 </div> 34 <i>行內轉行內塊狀</i> 35 </body> 36 37 </html>

1.行內元素

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

  行內元素特征:(1)設置寬高無效

         (2)對margin僅設置左右方向有效,上下無效;padding設置上下左右都有效,即會撐大空間

         (3)不會自動進行換行

 1 <!DOCTYPE html>
 2 <html>
 3 
 4     <head>
 5         <meta charset="utf-8" />
 6         <title>測試案例</title>
 7         <style type="text/css">
 8             span {
 9                 width: 120px;
10                 height: 120px;
11                 margin: 1000px 20px;
12                 padding: 50px 40px;
13                 background: lightblue;
14             }
15         </style>
16     </head>
17 
18     <body>
19         <i>不會自動換行</i>
20         <span>行內元素</span>
21     </body>
22 
23 </html>

2.塊狀元素

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

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

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

         (3)可以自動換行

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

 1 <!DOCTYPE html>
 2 <html>
 3 
 4     <head>
 5         <meta charset="utf-8" />
 6         <title>測試案例</title>
 7         <style type="text/css">
 8             div {
 9                 width: 120px;
10                 height: 120px;
11                 margin: 50px 50px;
12                 padding: 50px 40px;
13                 background: lightblue;
14             }
15         </style>
16     </head>
17 
18     <body>
19         <i>自動換行</i>
20         <div>塊狀元素</div>
21         <div>塊狀元素</div>
22     </body>
23 
24 </html>

3.行內塊狀元素

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

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

           (2)能夠識別寬高

           (3)默認排列方式為從左到右

 1 <!DOCTYPE html>
 2 <html>
 3 
 4     <head>
 5         <meta charset="utf-8" />
 6         <title>測試案例</title>
 7         <style type="text/css">
 8             div {
 9                 display: inline-block;
10                 width: 100px;
11                 height: 50px;
12                 background: lightblue;
13             }
14         </style>
15     </head>
16 
17     <body>
18         <div>行內塊狀元素</div>
19         <div>行內塊狀元素</div>
20         
21     </body>
22 
23 </html>

  在HTML5中,程序員可以自定義標簽,在任意定義標簽中,加入display:block;即可,當然也可以是行內或行內塊狀。

HTML行內元素、塊狀元素、行內塊狀元素的區別