Я изо всех сил пытался сделать так, чтобы содержимое элементов flexbox было одинаково выровнено.
Как видите, три из них имеют одинаковую высоту, но я хочу добиться, чтобы все абзацы выровнялись / масштабировались с другими.
.grid-chefs {
display: flex;
width: 100%;
text-align: center;
align-items: stretch;
}
.cfcol {
width: 32%;
line-height: 1.2;
}
.cfcol>img {
max-width: 100%;
max-height: 100px;
}
.cfcol>h3 {
font-size: 22px;
}<div class = "grid-chefs">
<div class = "cfcol">
<img src = "img/chef.jpg" />
<h3>John Doe</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
<div class = "cfcol">
<img src = "img/chef.jpg" />
<h3>John Smith</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
<div class = "cfcol">
<img src = "img/chef.jpg" />
<h3>John Smith Doe</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>Все абзацы хорошо выровнены. Не могли бы вы пояснить, как вы хотите их совместить?
Это невозможно с flexbox и этой структурой HTML. Эти элементы h3 не имеют никакого отношения друг к другу, на котором это могло бы быть основано.
В CSS НЕТ метода для выравнивания элемента, не имеющего общего родителя.






Как я уже прокомментировал, вам нужно добавить min-height в свои теги h3
Или подумайте об уменьшении размера шрифта ваших заголовков.
Попробуй это
.grid-chefs {
display: flex;
width: 33%;
text-align: center;
align-items: center;
justify-content: space-between;
margin:auto;
}
.cfcol {
width: 32%;
line-height: 1.2;
}
.cfcol > img {
max-width: 100%;
max-height: 100px;
}
.cfcol > h3{
font-size: 22px;
min-height:75px;
display:flex;
align-items: center;
} <div class = "grid-chefs">
<div class = "cfcol">
<img src = "img/chef.jpg" />
<h3>John Doe</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
<div class = "cfcol">
<img src = "img/chef.jpg" />
<h3>John Smith</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
<div class = "cfcol">
<img src = "img/chef.jpg" />
<h3>John Smith Doe</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>Также рабочий пример кода: https://codepen.io/anon/pen/VVqrYL
Рад помочь вам в любое время: D
CSS Flexbox не позволяет выравнивать элементы внутри отдельных родительских элементов. Вы можете обойти это, используя новый макет CSS Grid с display: contents для столбцов, но поддержка браузера для последнего все еще далек от удовлетворительного.
На данный момент вам необходимо иметь фиксированную высоту для изображений и заголовков, если вы хотите выровнять абзацы совместимым с браузером способом.
.grid-chefs {
display: grid;
grid-auto-flow: column;
width: 100%;
text-align: center;
align-items: stretch;
grid-template-rows: auto auto auto;
}
.cfcol {
width: 32%;
line-height: 1.2;
display: contents;
}
.cfcol>img {
max-width: 100%;
max-height: 100px;
}
.cfcol>h3 {
font-size: 22px;
}<div class = "grid-chefs">
<div class = "cfcol">
<img src = "img/chef.jpg" />
<h3>John Doe</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
<div class = "cfcol">
<img src = "img/chef.jpg" />
<h3>John Smith</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
<div class = "cfcol">
<img src = "img/chef.jpg" />
<h3>John Smith Doe</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
Для этого вам нужно добавить min-height к вашим тегам h3.