Align the inline-block DIV on top of the container element
P粉982881583
2023-08-21 20:38:56
<p>When two <code>inline-block</code>'s <code>div</code> have different heights, why doesn't the shorter one align with the top of the container? (<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>How do I align a small <code>div</code> to the top of its container? </p>
You need to add the
vertical-align
attribute to both child divs.If
.small
is always shorter, just apply this property to.small
. However, this property should be applied to both.small
and.big
if any of them may be the highest.Vertical alignment affects inline or table cell boxes. This property has many different values. See https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align for more details.
Because by default,
vertical-align
is set to baseline.Use instead
vertical-align:top
:http://jsfiddle.net/Lighty_46/RHM5L/9/
Or as @f00644 said, you can also apply
float
to child elements.