[英]How to align items vertically with variable text baseline
我需要对齐一个项目列表,这些项目应该以不同长度且底部对齐的标题为基线。 图像应始终位于 position 顶部。
我尝试将列表容器设置为 display:table 并将项目设置为 display: table-cell, vertical-align: baseline。 我可以将表格单元格的项目设置为具有 position: relative,并将图像设置为 position:absolute 和 top:0 但是一旦标题很长就会失败。
基本上,这是代码:
<div class="container">
<div class="item">
<img src="http://dummyimage.com/100x60/000/fff" alt="ALT">
<h2>
title
</h2>
<p>Lorem<br>ipsum</p>
</div>
<div class="item">
<img src="http://dummyimage.com/100x60/000/fff" alt="ALT">
<h2>
longer title
</h2>
<p>Lorem<br>ipsum</p>
</div>
<div class="item">
<img src="http://dummyimage.com/100x60/000/fff" alt="ALT">
<h2>
long long long long title
</h2>
<p>Lorem<br>ipsum</p>
</div>
<div class="item">
<img src="http://dummyimage.com/100x60/000/fff" alt="ALT">
<h2>
not long title
</h2>
<p>Lorem<br>ipsum</p>
</div>
</div>
<style>
.container {
display: table;
border: 1px solid grey;
}
.item {
background: yellow;
display: table-cell;
padding: 10px;
vertical-align: bottom;
max-width:100px;
}
.item h2 {
vertical-align: bottom; /* only needed for removing a few pixel gap between image and paragraph */
border-bottom: 1px solid;
padding-bottom:10px;
}
.item p {
margin: 0;
text-align: left;
}
</style>
请参阅下面的图片我到目前为止所做的事情。 我的进步图片
<html> <head> <style>.container { display: flex; flex-direction: row; justify-content: space-between; height: 600px; }.flex-card { display: flex; flex-direction: column; justify-content: space-between; flex-basis: 0; flex-grow: 1; margin: 15px; }.flex-card div { display: flex; flex-direction: column; } span { border-bottom: 1px solid #ddd; padding: 15px; } a { margin: 15px; } </style> </head> <body> <div class="container"> <div class="flex-card"> <img src="https://via.placeholder.com/300x200"> <div> <span>Lorem ipsum dolsdfgvfgpk fgiko kkdfl;gkdf; l;kdfkgfl;dk or sit amet</span> <a href="/">View Idea Starter</a> </div> </div> <div class="flex-card"> <img src="https://via.placeholder.com/300x200"> <div> <span>Lorem ipsum dolor sit amet</span> <a href="/">View Idea Starter</a> </div> </div> <div class="flex-card"> <img src="https://via.placeholder.com/300x200"> <div> <span>Lorem ipsum dolsdfgvfgpk fgiko kkdfl;gkdf; l;kdfkgfl;dk or sit amet</span> <a href="/">View Idea Starter</a> </div> </div> </div> </body> </html>
这是你需要的吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.