如何防止文本改变其他元素高度,使两个Div布局对齐?
解决方法
要让两个卡片的主体内容("discussed"和图标区域)位置完全对齐,关键是固定顶部警告栏的高度,避免文本长度差异导致容器高度变化,进而影响下方内容的定位。
具体修改如下:
- 给两个顶部的
.bg-warning容器设置min-height: 48px(该高度根据第一个卡片的警告栏高度确定,可根据实际需求调整),同时添加d-flex align-items-center justify-content-center让文本垂直居中,保证短文本容器也能占据和长文本容器一致的高度。 - 给底部的
.h-100容器添加d-flex align-items-end,让主体内容始终靠卡片底部对齐,进一步确保两个卡片的内容位置一致。 - 替换非标准的
<text>标签为<span>,避免潜在的样式问题。
修改后的完整代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Bootstrap demo</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous" /> </head> <body style="padding: 40px"> <div class="d-flex flex-column border border-primary " style="max-width: 400px ; height: 130px "> <div class="w-100 bg-warning text-center p-2 d-flex align-items-center justify-content-center" style="min-height: 48px"> <a href="">Somecontent from a map function here dsdsadsadsffffffff</a> </div> <div class="h-100 d-flex align-items-end"> <div class="d-flex align-items-stretch justify-content-between pt-4 pb-2 px-2 w-100" onclick="alert('hey')" > <span class="bg-warning"> discussed </span> <div onclick="alert('hey click me')">icons here</div> </div> </div> </div> <div class="d-flex flex-column border border-primary mt-2 " style="max-width: 400px ; height: 130px;"> <div class="w-100 bg-warning text-center p-2 d-flex align-items-center justify-content-center" style="min-height: 48px"> <a href="">Somecontent from a map</a> </div> <div class="h-100 d-flex align-items-end"> <div class="d-flex align-items-stretch justify-content-between pt-4 pb-2 px-2 w-100" > <span class="bg-warning"> discussed </span> <div onclick="alert('hey click me')">icons here</div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous" ></script> </body> </html>
内容的提问来源于stack exchange,提问作者Sohaib Ashraf
相关产品推荐
相关产品推荐

