【发布时间】:2021-01-15 22:00:49
【问题描述】:
我有一个动态生成的行星列表。在通过 knockout.js 检测到这些行星的某些属性后,可能会向它们添加一两个图标以指示某些特征。图标是绿色圆圈和蓝色推进器。
将任一图标添加到行星时,它看起来都很好,但如果同时添加了两个图标,推进器就会错位。
<div class="all-planets" data-bind="foreach: selection.system().planets()">
<div
class="div_planet"
data-placement="right"
data-bind="tooltip: $root.gwaioPlanetData[$index()]"
>
<img
style="height: 20px; width: 20px"
data-bind="attr: { src: 'coui://ui/main/shared/img/planets/' + $data.generator.biome + '.png' }"
/>
<img
data-bind="visible: $data.starting_planet"
class="img_start"
src="coui://ui/main/game/live_game/img/planet_list_panel/icon_planet_start.png"
/>
<img
data-bind="visible: $data.required_thrust_to_move > 0"
class="thruster_count"
src="coui://ui/main/game/server_browser/img/icon_thruster.png"
/>
</div>
</div>
#system-detail .all-planets {
margin: 0px 0px 0px 0px;
padding: 0px 16px 0px 4px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
#system-detail .div_planet {
height: 20px;
width: 20px;
margin: 4px;
}
#system-detail img.img_start {
height: 16px;
width: 16px;
position: relative;
top: -12px;
right: -10px;
}
#system-detail .thruster_count {
height: 12px;
width: 13px;
position: relative;
top: -8px;
}
我担心这只是我对 CSS 显示缺乏了解。我发现如果我在两个<img> 标签周围添加<div> 标签,然后为推进器图像设置绝对位置,我可以对齐推进器。然而,行星可能会环绕并形成第二排,这会破坏这种设置。这也使得设置非常脆弱,因为该区域可能会发生变化。
我应该怎么做才能防止绿色圆圈图像干扰蓝色推进器图像的位置?
编辑:我添加了图标(所有行星尺寸都相同)
【问题讨论】:
-
这有点难以测试,因为使用的图标图像不是代码示例的一部分。
-
@karolus 我已将图标添加到帖子中
标签: html css knockout-3.0