提问者:小点点

将内联块div对齐到容器元素的顶部


当两个内联块div具有不同的高度时,为什么两者中较短的一个不对齐到容器的顶部? (DEMO):

null

.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>

null

如何将小的div在其容器的顶部对齐?


共3个答案

匿名用户

因为Vertical-Align设置为默认基线。

改用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应用到子元素。

匿名用户

您需要向两个子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;   
}

垂直对齐影响内联或表格单元格框的,此属性有大量不同的值。 详情请见https://developer.mozilla.org/en-us/docs/web/css/vertical-align。

匿名用户

<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/>");

})