【发布时间】:2021-02-19 11:23:03
【问题描述】:
我有这样的代码:
<style>
table {
width: 20%;
border: 1px solid black;
}
.player_line {
display: flex;
align-items: center;
}
.player_left,
.player_right {
flex: 1;
border: 1px solid red;
}
.player_avatar {
border-radius: 50%;
width: 40px;
height: 40px;
margin-right: 5px;
margin-top: 5px;
margin-bottom: 5px;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
</style>
<table>
<tr>
<td>
<div class="player_line">
<div class="player_left"></div>
<div class="player_avatar" style="background-image: url(./assets/static/images/user.png)"></div>
A long user name
<div class="player_right"></div>
</div>
</td>
</tr>
<tr>
<td>
<div class="player_line">
<div class="player_left"></div>
<div class="player_avatar" style="background-image: url(./assets/static/images/user.png)"></div>
Not long name
<div class="player_right"></div>
</div>
</td>
</tr>
<tr>
<td>
<div class="player_line">
<div class="player_left"></div>
<div class="player_avatar" style="background-image: url(./assets/static/images/user.png)"></div>
A super long name
<div class="player_right"></div>
</div>
</td>
</tr>
</table>
这看起来像:
我能做些什么来对齐头像,让它们总是向左对齐,但整个玩家信息(头像 + 名称)仍然在 td 元素的中心? 像这样:
我认为,这里重要的是玩家信息可以随心所欲地增长(如果有空间),所以玩家的头像和名字总是看起来正确的(例如,名字总是在一行中,并且图片未缩小)。
【问题讨论】: