如何在同一行中定位两个inline-block
div
个height
个属性?
预期:
#legend
和#container
应位于同一行。
实际值:
#legend
位于#container
之后。
div {
display: inline-block;
}
#legend {
height: 500px;
border: solid red;
}
#container {
height: 500px;
width: 500px;
border: solid green;
}

<div id="legend">
<p>Lorem</p>
</div>
<div id="container"></div>
&#13;
另一方面,如果我们不提供height
属性,则为works fine。
答案 0 :(得分:3)
内联级元素的初始设置为vertical-align: baseline
。这意味着span
,textarea
和img
等默认display
值为inline
的元素将与容器的基线对齐。< / p>
大多数字母&#34;坐在&#34;下方延伸的地方。
在您的问题中,您已将div设置为display: inline-block
。这激活了基线对齐,并且盒子彼此垂直对齐。基线。这就是你所看到的。
您可以通过覆盖vertical-align
上的默认值来解决此问题。试试这个:
div {
display: inline-block;
vertical-align: bottom; /* new */
}
#legend {
height: 500px;
border: solid red;
}
#container {
height: 500px;
width: 500px;
border: solid green;
}
&#13;
<div id="legend">
<p>Lorem</p>
</div>
<div id="container"></div>
&#13;
或者,只是在空div中添加一些文本(尽管vertical-align
仍然可以派上用场来完全均衡对齐)。
div {
display: inline-block;
}
#legend {
height: 500px;
border: solid red;
}
#container {
height: 500px;
width: 500px;
border: solid green;
}
&#13;
<div id="legend">
<p>Lorem</p>
</div>
<div id="container">text text text</div>
&#13;