先说下为什么line-height等于元素高度文字却没有垂直居中,其实line-height等于元素高度的时候文本并不是真的居中了,而是看着居中了,当元素高度和font-size差距较大的时候,这种不是真正的居中就越发的明显,这里可以参看下什么是基线?
下图中的绿色线就是基线:line-height,指的是两行文字【基线】之间的距离
————————————————
版权声明:本文为CSDN博主「金龙宝宝」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_17030685/article/details/83350766
第一种。结合行高、对齐的关系并结合伪元素
.text{
width: 16px;
height: 16px;
font-size: 10px;
text-align: center;
}
.text::after{
content: ' ';
display: inline-block;
width: 0;
height: 100%;
vertical-align: middle;
margin-top: 1px;
}
第二种方法
使用CSS3 scale属性,设置时将所有的值设置大一倍,然后缩小一倍
.text{
width: 32px;
height: 32px;
line-height: 32px;
font-size: 20px;
text-align: center;
transform: scale(0.5);
}