This question already has answers here:
Why is this inline-block element pushed downward?
(8个答案)
2年前关闭。
如您在代码段下方看到的那样,如果所有div都没有文本,或者所有div都具有文本,那么它们将位于同一行。
但是,如果一个或多个为空,而其他具有文本,则它们不会出现在同一行上。
为什么会这样?以及如何克服呢?
(8个答案)
2年前关闭。
如您在代码段下方看到的那样,如果所有div都没有文本,或者所有div都具有文本,那么它们将位于同一行。
但是,如果一个或多个为空,而其他具有文本,则它们不会出现在同一行上。
为什么会这样?以及如何克服呢?
.Outer
{
border: 1px solid black;
}
.D
{
width: 50px;
height: 20px;
display: inline-block;
background-color: lightblue;
margin: 10px;
text-align: center;
}
<div class="Outer">
<div class="D"></div>
<div class="D"></div>
<div class="D"></div>
</div>
<br>
<div class="Outer">
<div class="D">abc</div>
<div class="D"></div>
<div class="D"></div>
</div>
<br>
<div class="Outer">
<div class="D">abc</div>
<div class="D">abc</div>
<div class="D">abc</div>
</div>
最佳答案
我不知道为什么他们可能有不同的基准。但是您可以强迫它们在top
(或根据需要在中间或底部)保持垂直对齐,并帮助他们找到共同的基准!
.Outer
{
border: 1px solid black;
}
.D
{
width: 50px;
height: 20px;
display: inline-block;
background-color: lightblue;
margin: 10px;
text-align: center;
vertical-align:top;
}
<div class="Outer">
<div class="D"></div>
<div class="D"></div>
<div class="D"></div>
</div>
<br>
<div class="Outer">
<div class="D">abc</div>
<div class="D"></div>
<div class="D"></div>
</div>
<br>
<div class="Outer">
<div class="D">abc</div>
<div class="D">abc</div>
<div class="D">abc</div>
</div>
09-25 20:12