内联块演示
我在http://jsfiddle.net/audetwebdesign/NxMLu/上设置了一个 Fiddle来说明四个场景:
考虑以下代码:
<div class="main">
<div class="inner one">inline-block</div>
<div class="inner two">inline-block</div>
</div>
和以下CSS:
.main {
outline: 2px dotted blue;
padding: 5px;
}
.one, .two {
outline: 1px dotted blue;
}
.ex2 .inner {
display: inline-block;
}
.ex3.main {
display: inline-block;
}
.ex4.main, .ex4 .inner {
display: inline-block;
}
示例 1:所有块
默认情况下,<div>
元素显示为块,并且它们的宽度会拉伸以填充屏幕的宽度。
示例 2:孩子是内联块
在这种情况下,子<div>
元素显示为inline-block
,因此它们的宽度缩小以适应,并且它们并排显示在全宽父元素中。
示例 3:parent 是一个内联块
在这种情况下,父元素的宽度是缩小以适应内容,子元素的宽度也是缩小以适应但每个子元素都在单独的行上,因为它们仍然是块级元素。
示例 4:父元素和子元素是内联块
与示例 3 类似,子元素并排显示,因为它们现在处于内联流上下文中。
何时使用内联块
当inline-block
您需要将顶部和底部边距或填充应用于需要出现在单行上的元素时,显示类型很有用,例如水平导航栏。元素的主要优点inline-block
是它们会响应text-align: center
声明,因此您可以将所有元素居中在一行中,并对边距和填充有一些控制。