display:block
将元素显示为块级元素。
block
元素的特点是:
- 总是在新行上开始;
- 处于常规流中,width没有设置会自动填满父容器
- 高度没有设置的情况下,会被处于常规流中的子元素撑开
- 高度,行高以及顶和底边距都可控制;
- margin,pading生效
- vertical-align无效
- 宽度缺省是它的容器的100%,除非设定一个宽度
<div>, <p>, <h1>, <form>, <ul> 和 <li>
是块元素的例子。
display:inline
将元素显示为内联行内元素。
inline
元素的特点是:
- 和其他元素都在一行上,
margin
、padding
在竖直方向无效,水平方向有效 - 高,行高及顶和底边距不可改变;行框高由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
的元素特点:
将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。
(准确地说,应用此特性的元素呈现为内联对象,周围元素保持在同一行,但可以设置宽度和高度地块元素的属性)