html - 如何防止 TD 中的文字与角落的小 logo 重叠
问题描述
我有一张表格,显示某项锦标赛每年的前 4 名选手。每个 td 都包括team
、team_location
以及奖牌(金、银和铜)的小图像,以指示团队的位置。
我正在使用float: right
css 对齐奖牌,但我遇到了一些团队名称与徽标重叠的问题。如何确保徽标不会与中的其他文本重叠td
?这是一个带有一些示例的 stackblitz,虽然我无法让图像在 stackblitz 上工作,所以我附上了一个屏幕截图,其中包含我遇到的问题的示例:
https://stackblitz.com/edit/angular-ivy-yysxgw?file=src/app/app.component.css
另一个问题——如何防止徽标偏离Team Canada
td 中的文本中心?
解决方案
您可以在标签右侧设置填充以td
阻止文本到达img
标签。并设置负边距以将其移动img
到该填充区域。
或者您可以在右侧留下一个额外的填充并将img
标签设置为position: absolute
并将其放置在该填充区域内。
.medal {
float: right;
margin: 0 -25px 0 0;
}
img {
width: 20px;
height: 20px;
object-fit: contain;
}
.table td,
.table th {
text-align: center;
white-space: nowrap;
}
.table td {
padding-right: 35px !important;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th class="champ_header">Year</th>
<th class="champ_header">Champion</th>
<th class="champ_header">Runner Up</th>
<th class="champ_header">Semi-Finalist</th>
<th class="champ_header">Semi-Finalist</th>
</tr>
</thead>
<tr align="center">
<td>2019</td>
<td><span><img src="https://www.vippng.com/png/full/540-5402602_medal-png-image-background-gold-medal-icon-png.png" class="medal"></span>United States</td>
<td><span><img src="https://www.vippng.com/png/full/540-5402602_medal-png-image-background-gold-medal-icon-png.png" class="medal"></span>Canadaadadadadaadadadasdasdasdasdasdasdasdasdasdadad</td>
<td><span><img src="https://www.vippng.com/png/full/540-5402602_medal-png-image-background-gold-medal-icon-png.png" class="medal"></span>Italy</td>
<td>Japan</td>
</tr>
</table>
推荐阅读
- c# - 基于控制器为 Blazor 服务生成代码?
- r - R中长格式数据框中的多变量函数
- android - 如何在Android中进行后台工作?
- asp.net-core-webapi - AspNet Core Web Api 控制台消息
- swift - Swift 包管理器 - Bundle.module 和 Bundle(for:)
- python - Python拆分字符串并在解析发生的任何地方添加字符
- node.js - 在 linux 中运行 node 或 npm 命令的问题
- python - 如何实现具有大量分类列的随机森林?
- terraform - 转换字符串 = 列表
Terraform 中的地图 - javascript - Material UI - 动态覆盖样式