HTML能够将元素分类方式分为行内元素、块状元素和行内块状元素三种。首先须要说明的是,这三者是能够互相转换的,使用display属性可以将三者任意转换:css
(1)display:inline;转换为行内元素html
(2)display:block;转换为块状元素程序员
(3)display:inline-block;转换为行内块状元素ide
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>
行内元素最常使用的就是span,其余的只在特定功能下使用,修饰字体<b>和<i>标签,还有<sub>和<sup>这两个标签能够直接作出平方的效果,而不须要相似移动属性的帮助,很实用。性能
行内元素特征:(1)设置宽高无效测试
(2)对margin仅设置左右方向有效,上下无效;padding设置上下左右都有效,即会撑大空间字体
(3)不会自动进行换行spa
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>
块状元素表明性的就是div,其余如p、nav、aside、header、footer、section、article、ul-li、address等等,均可以用div来实现。不过为了能够方便程序员解读代码,通常都会使用特定的语义化标签,使得代码可读性强,且便于查错。htm
块状元素特征:(1)可以识别宽高blog
(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>
行内块状元素综合了行内元素和块状元素的特性,可是各有取舍。所以行内块状元素在平常的使用中,因为其特性,使用的次数也比较多。
行内块状元素特征:(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;便可,固然也能够是行内或行内块状。