概念:
1 block完整的解释是block-level elements(块级别元素),block元素被独立为一块,不设置浮动属性的情况 下,单独占一行。
2 inline的完整解释是inline elements(内联元素),内联元素前后没有空格,一系列inline元素都在一行内显示,直到将该行排满才会换行。
3 大体来说HTML元素各有其自身的布局级别(block元素还是inline元素):
3.1 常见的块级元素有 DIV, FORM, TABLE, P, PRE, H1~H6, DL, OL, UL 等
3.2 常见的内联元素有 SPAN, A, STRONG, EM, LABEL, INPUT, SELECT, TEXTAREA, IMG, BR 等。
比较:
1 display:block
1.1 block元素会独占一行,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度
1.2 lock元素可以设置width,height属性。块级元素即使设置了宽度,仍然是独占一行。
1.4 block元素可以设置margin和padding属性
2 display:inline
2.1 inline元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化。
2.2 inline元素设置width,height属性无效。
2.3 inline元素的margin和padding属性,水平方向的padding-left, padding-right, margin-left, margin-right都产生边距效果;但竖直方向的padding-top, padding-bottom, margin-top, margin-bottom不会产生边距效果。
3 display:inline-block
简单来说就是将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内。比如我们可以给一个link(a元素)inline-block属性值,使其既具有block的宽度高度特性又具有inline的同行特性。