display:block;和display:inline;display:inline-block的区别

display:block

将元素显示为块级元素。

block元素的特点是:

  • 总是在新行上开始;
  • 处于常规流中,width没有设置会自动填满父容器
  • 高度没有设置的情况下,会被处于常规流中的子元素撑开
  • 高度,行高以及顶和底边距都可控制;
  • margin,pading生效
  • vertical-align无效
  • 宽度缺省是它的容器的100%,除非设定一个宽度<div>, <p>, <h1>, <form>, <ul> 和 <li>是块元素的例子。

display:inline

将元素显示为内联行内元素。

inline元素的特点是:

  • 和其他元素都在一行上,marginpadding在竖直方向无效,水平方向有效
  • 高,行高及顶和底边距不可改变;行框高由line-height决定;
  • 宽度就是它的文字或图片的宽度,不可改变。<span>, <a>, <label>, <input>, <img>, <strong> 和<em>是inline元素的例子。
  • 浮动,绝对定位会使得元素自动变成块状元素

width、height对display:inline元素无效,对于inline-block元素有效,常见的inline-block有img、input

display:inline-block

将对象呈递为内联块级对象。

但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。

inline-block的元素特点:

将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。

   (准确地说,应用此特性的元素呈现为内联对象,周围元素保持在同一行,但可以设置宽度和高度地块元素的属性)

猜你喜欢

转载自blog.csdn.net/Menqq/article/details/113276721