Cuando dos inline-block divs tienen diferentes alturas, ¿por qué el más corto de los dos no se alinea con la parte superior del contenedor? ( 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>
¿Cómo puedo alinear el pequeño diven la parte superior de su contenedor?

Respuestas:
Porque el
vertical-alignse establece en la línea de base por defecto.Use en su
vertical-align:toplugar:http://jsfiddle.net/Lighty_46/RHM5L/9/
O como dijo @ f00644 , también podría aplicar
floata los elementos secundarios.fuente
baselinees el valor predeterminado? Estoy seguro de que hay una buena razón, pero para un inesperado, parece extraño. Terminas con un efecto de horizonte de Manhattan.Necesita agregar una
vertical-alignpropiedad a sus dos divisiones secundarias.Si
.smallsiempre es más corto, solo necesita aplicar la propiedad a.small. Sin embargo, si cualquiera podría ser más alto, entonces debe aplicar la propiedad a ambos.smally.big.La alineación vertical afecta los cuadros en línea o de celda de tabla, y hay una gran cantidad de valores diferentes para esta propiedad. Consulte https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align para obtener más detalles.
fuente
fuente
Agregue desbordamiento: auto al contenedor div. http://www.quirksmode.org/css/clearing.html Este sitio web muestra algunas opciones cuando se tiene este problema.
fuente