HTML可以將元素分類方式分為行內元素、塊狀元素和行內塊狀元素三種。首先需要說明的是,這三者是可以互相轉換的,使用display屬性能夠將三者任意轉換:
(1)display:inline;轉換為行內元素
(2)display:block;轉換為塊狀元素
(3)display:inline-block;轉換為行內塊狀元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>測試案例</title> <style type="text/css"> span { display: block; width: 120px; height: 30px; background: red; } div { display: inline; width: 120px; height: 200px; background: green; } i { display: inline-block; width: 120px; height: 30px; background: lightblue; } </style> </head> <body> <span>行內轉塊狀</span> <div>塊狀轉行內 </div> <i>行內轉行內塊狀</i> </body> </html>
1.行內元素
行內元素最常使用的就是span,其他的只在特定功能下使用,修飾字體<b>和<i>標簽,還有<sub>和<sup>這兩個標簽可以直接做出平方的效果,而不需要類似移動屬性的幫助,很實用。
行內元素特征:(1)設置寬高無效
(2)對margin僅設置左右方向有效,上下無效;padding設置上下左右都有效,即會撐大空間
(3)不會自動進行換行
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>測試案例</title> <style type="text/css"> span { width: 120px; height: 120px; margin: 1000px 20px; padding: 50px 40px; background: lightblue; } </style> </head> <body> <i>不會自動換行</i> <span>行內元素</span> </body> </html>
2.塊狀元素
塊狀元素代表性的就是div,其他如p、nav、aside、header、footer、section、article、ul-li、address等等,都可以用div來實現。不過為了可以方便程序員解讀代碼,一般都會使用特定的語義化標簽,使得代碼可讀性強,且便於查錯。
塊狀元素特征:(1)能夠識別寬高
(2)margin和padding的上下左右均對其有效
(3)可以自動換行
(4)多個塊狀元素標簽寫在一起,默認排列方式為從上至下
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>測試案例</title> <style type="text/css"> div { width: 120px; height: 120px; margin: 50px 50px; padding: 50px 40px; background: lightblue; } </style> </head> <body> <i>自動換行</i> <div>塊狀元素</div> <div>塊狀元素</div> </body> </html>
3.行內塊狀元素
行內塊狀元素綜合了行內元素和塊狀元素的特性,但是各有取舍。因此行內塊狀元素在日常的使用中,由於其特性,使用的次數也比較多。
行內塊狀元素特征:(1)不自動換行
(2)能夠識別寬高
(3)默認排列方式為從左到右
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>測試案例</title> <style type="text/css"> div { display: inline-block; width: 100px; height: 50px; background: lightblue; } </style> </head> <body> <div>行內塊狀元素</div> <div>行內塊狀元素</div> </body> </html>
在HTML5中,程序員可以自定義標簽,在任意定義標簽中,加入display:block(塊元素(標簽));即可,當然也可以是行內或行內塊狀。