【发布时间】:2021-02-12 05:21:03
【问题描述】:
我的应用中有一个 flexbox 布局,类似于下面的 sn-p,一组 lis 和三个 divs
.container {
width: 500px;
}
ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
}
li {
border: solid 1px black;
flex: 1;
}
.title {
border: solid 1px red;
margin-bottom: 1em;
}
.content {
border: solid 1px yellow;
margin-bottom: 1em;
}
.footer {
border: solid 1px blue;
}
<div class="container">
<ul>
<li>
<div class="title">
Blah Blah Blah Blah Blah Blah
</div>
<div class="content">
Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah
</div>
<div class="footer">
Some other stuff here
</div>
</li>
<li>
<div class="title">
Blah Blah Blah Blah Blah Blah
</div>
<div class="content">
Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah
</div>
<div class="footer">
Some other stuff here
</div>
</li>
<li>
<div class="title">
Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah
</div>
<div class="content">
Blah Blah Blah Blah Blah Blah Blah Blah
</div>
<div class="footer">
Some other stuff here
</div>
</li>
</ul>
</div>
我希望孩子 div 在各个时代都以相同的级别开始,例如黄色 div 顶部相等,蓝色 div 顶部相等。以前我通过使子 div 绝对定位来做到这一点,然后让它们具有固定的高度和固定的顶部。但是,这样做,我必须根据猜测的它们将包含的文本的最大大小来设置高度,当与响应的页面结合时(有一个断点,它从并排的列到轮播) ,这会导致列中出现大量空白。
我发现的大多数示例(因为我显然不知道谷歌搜索的正确术语...)涉及 Javascript,或重新排列标记以使行位于层次结构的顶部,而不是列。我想坚持使用列,它们被设置为处理 1、2 或 3 列的情况,并且还用作小型设备上的轮播。
我是否错过了如何做到这一点,还是我被 Javascript 卡住了?
【问题讨论】: