我试图在容器之间垂直对齐可变高度元素,即每个容器中的第一个元素彼此垂直对齐,每个容器中的第二个元素与对方垂直对齐,等等等。对齐不同父容器的子元素
我正在使用flexbox,但不知道这是甚至可能吗?或者有可能使用CSS Grid?
期望的结果
See demo在那里我没有设法得到它的工作呢。
main {
display: flex;
flex-wrap: wrap;
}
.container {
background: grey;
margin: 0 10px 20px;
padding: 10px;
width: 200px;
}
.top {
background: red;
}
.middle {
background: blue;
}
.bottom {
background: green;
}
<main>
<div class="container">
<div class="top">Some text here, Some text here, Some text here</div>
<div class="middle">And some here, And some here, And some here, And some here, And some here, And some here</div>
<div class="bottom">And a little here too</div>
</div>
<div class="container">
<div class="top">Some text here, Some text here</div>
<div class="middle">And some here, And some here, And some here, And some here, And some here, And some here, And some here, And some here, And some here</div>
<div class="bottom">And a little here too, And a little here too</div>
</div>
<div class="container">
<div class="top">Some text here, Some text here, Some text here, Some text here, Some text here</div>
<div class="middle">And some here</div>
<div class="bottom">And a little here too</div>
</div>
<div class="container">
<div class="top">Some text here, Some text here, Some text here</div>
<div class="middle">And some here, And some here, And some here, And some here, And some here, And some here</div>
<div class="bottom">And a little here too</div>
</div>
<div class="container">
<div class="top">Some text here, Some text here, Some text here</div>
<div class="middle">And some here, And some here, And some here, And some here, And some here, And some here</div>
<div class="bottom">And a little here too</div>
</div>
<div class="container">
<div class="top">Some text here, Some text here, Some text here</div>
<div class="middle">And some here, And some here, And some here, And some here, And some here, And some here</div>
<div class="bottom">And a little here too</div>
</div>
<div class="container">
<div class="top">Some text here, Some text here, Some text here</div>
<div class="middle">And some here, And some here, And some here, And some here, And some here, And some here</div>
<div class="bottom">And a little here too</div>
</div>
</main>
必须对准每个柔性项目分别 – vsync
Flexbox将是灵活的。如其中,它允许您的孩子元素根据内容具有不同的尺寸。如果你想链接来自不同父母的孩子,你需要给他们规则,禁用家长内部的“flexbox”行为,并给他们固定的高度。或者你需要改变你的标记,所以你想要相关的所有项目是同一父行内的兄弟姐妹。第三个选项是使用'javascript'连接它们。 –
@AndreiGheorghiu - 是的,这是我试图摆脱的,即没有固定的高度,因为内容可以在高度上变化。我需要所有子元素出现在它自己的父容器中(每次都有未知数量的容器)。 – Ash