它们的区别主要有以下几点:
1、CSS有个属性叫做display,其取值可以为inline-block。W3CSchool中说display 属性规定元素应该生成的框的类型。
2、display:inline-block;可以让元素具有块级元素和行内元素的特性:既可以设置长宽,可以让padding和margin生效,又可以和其他行内元素并排。是一个很实用的属性。
3、元素可以设置weith和height,行内元素设置width和height无效,而且块级元素即使设置宽度也还是独占一行。
4、块级元素可以设置margin和padding属性,行内元素水平方向的margin和padding如margin-left、padding-right可以产生边距效果,但是竖直方向的如padding-top和margin-bottom不会产生边距效果。
5、display其中块级元素对应display:block,行内元素对应display:inline。可以通过修改元素的display属性来切换行内元素和块级元素。
css 行内元素有哪些:* a - 锚点、* dfn - 定义字段、* em - 强调、* i - 斜体、* img - 图片、* strike - 中划线、* strong - 粗体强调、* sub - 下标、* sup - 上标、* textarea - 多行文本输入框、* tt - 电传文本、* form - 交互表单。
行内元素有哪些:a、b、span、img、input、strong、select、label、em、button。
当一个元素的 float 属性的值不为 none 时(即值为 left 或者 right ),这个元素将脱离“标准流”,变成“浮动流”。
“浮动流”的元素会覆盖在“标准流”元素的上方。
而当一个的 display 属性的值为 inline-block 时,这个元素就会开启一个 BFC (块级格式化上下文)
BFC 元素不会被 浮动元素 覆盖,所以会自动的往后靠
建议楼主了解一下“标准流”或者说是“文档流”、“浮动流”、“定位流”
还有就是了解一下 BFC
了解一下上面两个很多东西都能理解了