Если два inline-block
div
элемента имеют разную высоту, почему короткие два не совпадают с верхом контейнера? ( ДЕМО ):
.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
наверху его контейнера?
Ответы:
Потому что
vertical-align
по умолчанию установлено на базовом уровне .Используйте
vertical-align:top
вместо этого:http://jsfiddle.net/Lighty_46/RHM5L/9/
Или, как сказал @ f00644, вы также можете применять
float
к дочерним элементам.источник
baseline
по умолчанию? Я уверен, что есть веская причина, но непредвиденному это кажется странным. В результате вы получаете эффект горизонта Манхэттена.Вы должны добавить
vertical-align
свойство к своим двум дочерним элементам.Если
.small
всегда короче, вам нужно только применить свойство к.small
. Однако, если любой из них может быть самым высоким, тогда вы должны применить свойство к обоим.small
и.big
.Выравнивание по вертикали влияет на поля встроенных ячеек или ячеек таблицы, и для этого свойства существует большое количество различных значений. Пожалуйста, смотрите https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align для более подробной информации.
источник
источник
Добавить переполнение: авто в контейнер div. http://www.quirksmode.org/css/clearing.html Этот веб-сайт показывает несколько вариантов при наличии этой проблемы.
источник