先说下为什么line-height等于元素高度文字却没有垂直居中,其实line-height等于元素高度的时候文本并不是真的居中了,而是看着居中了,当元素高度和font-size差距较大的时候,这种不是真正的居中就越发的明显,这里可以参看下什么是基线?

下图中的绿色线就是基线:line-height,指的是两行文字【基线】之间的距离

解决方案一、

结合行高、对齐的关系并结合伪元素

.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);}

到此这篇关于解决line-height=height元素高度但是文字并没有垂直居中的问题的文章就介绍到这了,更多相关line-height=height元素高度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

解决line height=height元素高度但是文字并没有垂直居中的问题