【发布时间】:2022-01-28 02:38:11
【问题描述】:
我想要表格中的一排按钮,每个按钮都由一张图片表示,并且按钮带有透明边框/背景。
我使用 <td class="col-sm-1"> 将每个按钮放在表格的剩余 10 个单元格之一中,并尝试制作 imgs cover - 但边框与上一行中图像的边框不对齐:
button.transparent {
background: transparent;
border: none !important;
}
.gborder {
border: 4px solid green;
/* outline: 2px solid white; */
}
.selectedTD {
background-color: grey !important;
border-bottom: 2pt solid grey;
}
span.smallText {
color: white;
font-size: 70%;
}
.imgButton {
cursor: pointer;
background-size: cover;
/* background-size: contain; */
background-repeat: no-repeat;
width: 100%;
height: 100%;
min-height: 48px;
}
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<table class="table table-striped table-hover caption-top">
<tbody id="table">
<tr>
<td class="col-sm-2">
<h5 class="text-start">click for details:</h5>
</td>
<td class="col-sm-1 ">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
<td class="col-sm-1">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
<td class="col-sm-1 selectedTD">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
<td class="col-sm-1">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
<td class="col-sm-1">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
<td class="col-sm-1">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
<td class="col-sm-1">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
<td class="col-sm-1">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
<td class="col-sm-1">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
<td class="col-sm-1">
<button class="transparent" disabled>
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder imgButton">
</button>
</td>
</tr>
<tr>
<td class="col-sm-2 selectedTD">
<h5 class="text-white text-start">detailed information:</h5>
</td>
<td class="col-sm-1 selectedTD">
<button class="transparent" disabled>
<div class="row">
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder">
</div>
<div class="row">
<span class="text-start smallText">some text</span>
</div>
</button>
</td>
<td class="col-sm-1 selectedTD">
<button class="transparent" disabled>
<div class="row">
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder">
</div>
<div class="row">
<span class="text-start smallText">some text</span>
</div>
</button>
</td>
<td class="col-sm-2 selectedTD" colspan="2">
<button class="transparent" disabled>
<div class="row">
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder">
</div>
<div class="row">
<span class="text-start smallText">some text</span>
</div>
</button>
</td>
<td class="col-sm-1 selectedTD">
<button class="transparent" disabled>
<div class="row">
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder">
</div>
<div class="row">
<span class="text-start smallText">some text</span>
</div>
</button>
</td>
<td class="col-sm-1 selectedTD selectedTD">
<button class="transparent" disabled>
<div class="row">
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder">
</div>
<div class="row">
<span class="text-start smallText">some text</span>
</div>
</button>
</td>
<td class="col-sm-1 selectedTD">
<button class="transparent" disabled>
<div class="row">
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder">
</div>
<div class="row">
<span class="text-start smallText">some text</span>
</div>
</button>
</td>
<td class="col-sm-1 selectedTD">
<button class="transparent" disabled>
<div class="row">
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder">
</div>
<div class="row">
<span class="text-start smallText">some text</span>
</div>
</button>
</td>
<td class="col-sm-1 selectedTD">
<button class="transparent" disabled>
<div class="row">
<img src="https://i.pinimg.com/originals/80/74/c0/8074c06da560a31b0aff51fad8b93cc1.jpg"
class="gborder">
</div>
<div class="row">
<span class="text-start smallText">some text</span>
</div>
</button>
</td>
</tr>
</tbody>
</table>
周边变量:
- 第一行(“点击查看详细信息”)始终有 1 个
col-sm-2和 10 个col-sm-1条目 - 第二行总是有 2 个
col-sm-2和 7 个col-sm-1条目 - 图片必须保持其纵横比
如果浏览器窗口大小发生变化,如何将第二行的边框与第一行对齐?我希望第二行中带有 col-sm-2 类的一个 img 正好是 2 个项目,并且边框要在任何地方对齐。
【问题讨论】:
标签: html css twitter-bootstrap bootstrap-5