Значение по умолчанию для гибкого контейнера: align-items: flex-start
.
В контейнере в направлении строки это приводит к тому, что гибкие элементы, не имеющие определенной высоты (например, height: auto
), увеличивают полную высоту контейнера ( полное объяснение ).
В этом конкретном случае, однако, изображение растягивается в полном объеме и расширяет размер контейнера вместе с ним.
Решение состоит в том, чтобы установить ограничение высоты контейнера или переопределитьпо умолчанию с align-items: flex-start
для контейнера или align-self: flex-start
для элемента.
jsFiddle demo
.item {
display: flex;
}
img {
width: 25%;
align-self: start; /* new */
}
<div class="item">
<img src="https://png.pngtree.com/element_origin_min_pic/16/10/16/105802ebe43fe0f.jpg" />
<p>some paragraph</p>
</div>