使inline-block的DIV在容器元素顶部对齐
                
             
            
            
                <p>当两个<code>inline-block</code>的<code>div</code>的高度不同时,为什么较短的那个不会与容器的顶部对齐?(<strong>DEMO</strong>):</p>
<p>
<pre class="brush:css;toolbar:false;">.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;    
}</pre>
<pre class="brush:html;toolbar:false;"><div class="container">
    <div class="small"></div>
    <div class="big"></div>
</div></pre>
</p>
<p>如何将小的<code>div</code>与其容器顶部对齐?</p>            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
         
        
        
     
您需要为两个子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了解更多详情。
因为默认情况下,
vertical-align被设置为baseline。改用
vertical-align:top:.small{ display: inline-block; width: 40%; height: 30%; border: 1px black solid; background: aliceblue; vertical-align:top; /* <---- this */ }http://jsfiddle.net/Lighty_46/RHM5L/9/
或者如@f00644所说,你也可以对子元素应用
float。