我有一系列要在网页上显示的文章。
文章计数是一个常数,比如100.我想用这个模板显示标题:
[current_article_index] / 100
问题是当我设置斜杠分隔符的样式并使其大于数字时,数字不是垂直对齐的:
#box {
font-size: 12px;
text-align: center;
}
.of {
font-size: 20px;
}
<div id="box">
<span class="a">13</span>
<span class="of">/</span>
<span class="b">100</span>
<div>
我尝试过使用表格布局,但这会导致整个div对齐左边而不是中心:
#box {
display:table;
font-size: 12px;
text-align: center;
}
.of {
font-size: 20px;
}
.a , .b{
display:table-cell;
vertical-align:middle;
}
<div id="box">
<span class="a">13</span>
<span class="of">/</span>
<span class="b">100</span>
<div>
我还能做什么?
答案 0 :(得分:4)
只需为vertical-align: middle
元素添加.of
:
#box {
font-size: 12px;
text-align: center;
}
.of {
font-size: 20px;
vertical-align: middle;
}
<div id="box">
<span class="a">13</span>
<span class="of">/</span>
<span class="b">100</span>
<div>
答案 1 :(得分:2)
您可以使用Flexbox
代替
#box {
display: flex;
font-size: 12px;
align-items: center;
justify-content: center;
}
.of {
font-size: 25px;
}
<div id="box">
<span class="a">13</span>
<span class="of">/</span>
<span class="b">100</span>
<div>
或者因为span
是内联元素,您可以使用vertical-align: middle
#box {
font-size: 12px;
text-align: center;
}
.of {
font-size: 25px;
}
span {
vertical-align: middle;
}
<div id="box">
<span class="a">13</span>
<span class="of">/</span>
<span class="b">100</span>
<div>
答案 2 :(得分:2)
您可以添加行高以实现垂直对齐。
<div id="box">
<span class="a">13</span>
<span class="of">/</span>
<span class="b">100</span>
<div>
<强> CSS 强>
#box {
font-size: 12px;
text-align: center;
}
#box span{
line-height: 20px;
vertical-align:middle;
}
.of {
font-size: 20px;
}