当两个inline-block
div
具有不同的高度时,为什么两个中的较短者不对齐容器的顶部? (DEMO):
.container {
border: 1px black solid;
width: 320px;
height: 120px;
}
.small {
display: inline-block;
width: 40%;
height: 30%;
border: 1px black solid;
background: aliceblue;
}
.big {
display: inline-block;
border: 1px black solid;
width: 40%;
height: 50%;
background: beige;
}
<div class="container">
<div class="small"></div>
<div class="big"></div>
</div>
如何将小容器顶部的小div
对齐?
答案 0 :(得分:292)
因为vertical-align
默认设置为 baseline 。
改为使用vertical-align:top
:
.small{
display: inline-block;
width: 40%;
height: 30%;
border: 1px black solid;
background: aliceblue;
vertical-align:top;
}
http://jsfiddle.net/Lighty_46/RHM5L/9/
或者@f00644表示您也可以将float
应用于子元素。
答案 1 :(得分:23)
您需要为您的两个子div添加vertical-align
属性。
如果.small
总是更短,则只需将该属性应用于.small
。
但是,如果其中一个可能是最高的,那么您应该将该属性应用于.small
和.big
。
.container{
border: 1px black solid;
width: 320px;
height: 120px;
}
.small{
display: inline-block;
width: 40%;
height: 30%;
border: 1px black solid;
background: aliceblue;
vertical-align: top;
}
.big {
display: inline-block;
border: 1px black solid;
width: 40%;
height: 50%;
background: beige;
vertical-align: top;
}
垂直对齐会影响内联或表格单元格,并且此属性有一个大的不同值的nubmer。有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align。
答案 2 :(得分:0)
<style type="text/css">
div {
text-align: center;
}
.img1{
width: 150px;
height: 150px;
border-radius: 50%;
}
span{
display: block;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input type='password' class='secondInput mt-4 mr-1' placeholder="Password">
<span class='dif'></span>
<br>
<button>ADD</button>
</div>
<script type="text/javascript">
$('button').click(function() {
$('.dif').html("<img/>");
})
答案 3 :(得分:-2)
添加overflow:auto到容器div。 http://www.quirksmode.org/css/clearing.html此网站在遇到此问题时会显示一些选项。