我正在尝试通过以下方式设计记分板:
0 - 0
Home - Away
现在发生的问题是,如果主队的名称长度更大,它将进一步推-。我想要-与上面的分数-保持一致。我的html结构如下所示:
<div className="score">
<span>0</span>-<span>0</span>
</div>
<div className="team">
<span>{homeName}</span>-<span>{awayName}</span>
</div>
我尝试将direction
属性放入跨度以使用rtl
。我还尝试提供text-align
center
并将position
属性固定。但是没有用。不知道我是否要去这里。感谢您的帮助
答案 0 :(得分:1)
如果您可以添加一个额外的包装,则只需使用display:table
.main {
display: table;
}
.score,
.team {
display: table-row;
}
span {
display: table-cell;
}
span:first-child {
text-align: right;
padding-right: 10px;
position: relative;
}
span:last-child {
text-align: left;
padding-left: 10px;
}
/*the line between scores*/
span:first-child::before {
content: "-";
position: absolute;
right:-2px;
top: 0;
}
<div class="main">
<div class="score">
<span>0</span><span>0</span>
</div>
<div class="team">
<span>Home</span><span>away</span>
</div>
</div>
<div class="main">
<div class="score">
<span>0</span><span>0</span>
</div>
<div class="team">
<span>Home Home Home</span><span>away</span>
</div>
</div>
答案 1 :(得分:0)
您可以执行类似的操作,但是总有许多其他方式可以根据需要进行样式设置。
<div class="main">
<div class="home-screen">
<p> 0 </p>
<p> Home </p>
</div>
<div> - <div>
<div class="away-screen">
<p> 0 </p>
<p> Away </p>
</div>
</div>
style.css
.main {
display: flex;
flex-direction: row;
}
答案 2 :(得分:-1)
div
标签中。text-align
给他们HTML
<div class="score">
<div class="home">0</div>-<div class="away">0</div>
</div>
<div class="team">
<div class="home">home name</div>-<div class="away">away name</div>
</div>
CSS
.home{
width: 55%;
display: inline-block;
text-align: right;
}
.away{
display: inline-block;
}
查看here