Я пытаюсь выровнять div по вертикали с помощью flexbox, используя align-content: center. Он отлично работает в Firefox и IE, но не выравнивается по вертикали в Chrome. В Chrome div остается сверху.
<div class="products-wrapper">
<div class="product">
<img src="images/temporary.jpg" alt="Temporary">
<h3>Title</h3>
<p>Text.</p>
</div>
<div class="product">
<img src="images/temporary.jpg" alt="Temporary">
<h3>Title</h3>
<p>Text.</p>
</div>
<div class="product">
<img src="images/temporary.jpg" alt="Temporary">
<h3>Title</h3>
<p>Text.</p>
</div>
</div>
И CSS:
.products-wrapper {
width: 100%;
min-height: 100vh;
/* FLEX */
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-content: center;
}
.product {
max-width: 250px;
padding: 10px;
}
.product img {
display: block;
margin: 0 auto;
max-height: 250px;
max-width: 250px;
}
Я также пробовал align-items: center;, который центрирует элементы div по вертикали, но это не будет прямая линия с изображениями и текстом, например, если у меня будет разное количество текста.
У кого-нибудь есть решение, как вертикально центрировать div (прямо), которое работает во всех браузерах?
Пример изображения:
Изменить: если вам не нужна динамическая высота, align-items: center; будет работать с (например) max-height: 400px; в разделе .product. Хотя не совсем то, что я хотел.