我正在使用引导程序创建卡片网格,但在调整屏幕大小时所有卡片都会合并在一起。这主要发生在我尝试将图标布局为出现在卡片的左上角和底部中间,同时向图像添加 a href 标签时。
<div class="col-sm-6 col-md mt-3">
<div class="card" style="position: relative;">
<a href="#" style="position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none;">
<img src="https://images.igdb.com/igdb/image/upload/t_cover_big/co7lbb.png" alt="" style="pointer-events: auto;">
</a>
<div class="icon-placeholder" style="position: absolute; top: 0; left: 0; z-index: 3;">
<!-- Heart icon on top left -->
<i id="heart" class="fas fa-heart heart-icon top-left-icon"></i>
<!-- Other icons on bottom -->
<div class="bottom-icons" style="position: absolute; bottom: -300px; left:100px;">
<i class="fas fa-comment comment-icon p-2"></i>
<i class="fas fa-share share-icon p-2"></i>
<!-- ... add more icons as needed -->
</div>
</div>
</div>
---- CSS 样式表 ----
display: flex;
justify-content: space-evenly;
margin-top: auto; /* Push the bottom icons to the bottom */
}
.icon-placeholder {
position: absolute;
top: 0;
left: 0;
display: flex;
flex-direction: column;
justify-content: space-between;
width: 100%;
height: 100%;
padding: 10px;
box-sizing: border-box;
}
.card img {
border-radius: 20px;
max-height: 320px;
max-width: 320px;
object-fit: cover;
display: block;
}
.card {
position: relative;
border-radius: 20px;
background-color: #ffffff00;
max-width: 264px;
max-height: 352px;
transition: transform .2s; /* Add transition property for smooth animation */
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}
您尝试定位图标,但代码有错误。图像包装和图标包装的位置不正确,导致卡片重叠。我修好了它。我用引导类替换了您的内联 CSS,并删除了未使用的 CSS。下面是示例代码:
.card img {
border-radius: 20px;
max-height: 320px;
max-width: 100%;
width: 100%;
object-fit: cover;
display: block;
}
.heart-icon {
position: absolute;
top: 10px;
left: 10px;
}
.bottom-icons {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" rel="stylesheet">
<div class="container">
<div class="card my-3">
<div class="card-body">
<div class="row g-3">
<div class="col-6 col-md-4 col-lg-3">
<div class="position-relative">
<a href="#" class="pe-none">
<img src="https://images.igdb.com/igdb/image/upload/t_cover_big/co7lbb.png" alt="" class="pe-auto">
</a>
<div class="icon-placeholder">
<i id="heart" class="fas fa-heart heart-icon top-left-icon text-white"></i>
<div class="d-flex justify-content-center text-white bottom-icons">
<i class="fas fa-comment comment-icon p-2"></i>
<i class="fas fa-share share-icon p-2"></i>
</div>
</div>
</div>
</div>
<div class="col-6 col-md-4 col-lg-3 mt-3">
<div class="position-relative">
<a href="#" class="pe-none">
<img src="https://images.igdb.com/igdb/image/upload/t_cover_big/co7lbb.png" alt="" class="pe-auto">
</a>
<div class="icon-placeholder">
<i id="heart" class="fas fa-heart heart-icon top-left-icon text-white"></i>
<div class="d-flex justify-content-center text-white bottom-icons">
<i class="fas fa-comment comment-icon p-2"></i>
<i class="fas fa-share share-icon p-2"></i>
</div>
</div>
</div>
</div>
<div class="col-6 col-md-4 col-lg-3 mt-3">
<div class="position-relative">
<a href="#" class="pe-none">
<img src="https://images.igdb.com/igdb/image/upload/t_cover_big/co7lbb.png" alt="" class="pe-auto">
</a>
<div class="icon-placeholder">
<i id="heart" class="fas fa-heart heart-icon top-left-icon text-white"></i>
<div class="d-flex justify-content-center text-white bottom-icons">
<i class="fas fa-comment comment-icon p-2"></i>
<i class="fas fa-share share-icon p-2"></i>
</div>
</div>
</div>
</div>
<div class="col-6 col-md-4 col-lg-3 mt-3">
<div class="position-relative">
<a href="#" class="pe-none">
<img src="https://images.igdb.com/igdb/image/upload/t_cover_big/co7lbb.png" alt="" class="pe-auto">
</a>
<div class="icon-placeholder">
<i id="heart" class="fas fa-heart heart-icon top-left-icon text-white"></i>
<div class="d-flex justify-content-center text-white bottom-icons">
<i class="fas fa-comment comment-icon p-2"></i>
<i class="fas fa-share share-icon p-2"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>