在 CSS 中使用 :before 修饰符时如何使文本垂直居中?
How to vertically center text when using the :before modifier in CSS?
这是 HTML 中的另一个“我如何垂直居中”的问题。这是使用 :before
修饰符时的情况。
HTML
<div style="border: 1px solid blue">
<div class="status-yellow">vertically center me</div>
</div>
CSS
.status-yellow {
display: inline-block;
padding: .35em .65em;
font-size: .75em;
font-weight: 400;
line-height: 1;
color: #000;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
text-transform: uppercase;
background-color: #fff;
}
.status-yellow:before {
display: inline-block;
content:"22";
margin-right: 0.5rem;
color: yellow;
font-size: 48px;
}
Here's a CodePen showing the issue
我有一个 div
标签,我正在使用 :before
修饰符在文本前插入项目符号。当子弹变大时,垂直居中不起作用。当子弹很小(太小)时,它全部居中。我错过了什么。我错过了什么?
你可以使用 flexbox。
.status-yellow {
display: inline-block;
padding: .35em .65em;
font-size: .75em;
font-weight: 400;
line-height: 1;
color: #000;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
text-transform: uppercase;
background-color: #fff;
display:flex;
align-items:center;/*for vertical align*/
justify-content:center;/*for horizontal align*/
}
.status-yellow:before {
display: inline-block;
content:"22";
margin-right: 0.5rem;
color: yellow;
font-size: 48px;
}
这是 HTML 中的另一个“我如何垂直居中”的问题。这是使用 :before
修饰符时的情况。
HTML
<div style="border: 1px solid blue">
<div class="status-yellow">vertically center me</div>
</div>
CSS
.status-yellow {
display: inline-block;
padding: .35em .65em;
font-size: .75em;
font-weight: 400;
line-height: 1;
color: #000;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
text-transform: uppercase;
background-color: #fff;
}
.status-yellow:before {
display: inline-block;
content:"22";
margin-right: 0.5rem;
color: yellow;
font-size: 48px;
}
Here's a CodePen showing the issue
我有一个 div
标签,我正在使用 :before
修饰符在文本前插入项目符号。当子弹变大时,垂直居中不起作用。当子弹很小(太小)时,它全部居中。我错过了什么。我错过了什么?
你可以使用 flexbox。
.status-yellow {
display: inline-block;
padding: .35em .65em;
font-size: .75em;
font-weight: 400;
line-height: 1;
color: #000;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
text-transform: uppercase;
background-color: #fff;
display:flex;
align-items:center;/*for vertical align*/
justify-content:center;/*for horizontal align*/
}
.status-yellow:before {
display: inline-block;
content:"22";
margin-right: 0.5rem;
color: yellow;
font-size: 48px;
}