为什么有时垂直居中的高度/线高不起作用?

时间:2017-06-01 08:37:08

标签: css fonts centering

我经常遇到使用line-height的css单行垂直居中问题。我通常将此方法用于按钮。我只是设置高度和行高,没有填充,如:

height: 44px;
line-height: 44px;

但有时它并不完美。看到这个小提琴:

https://jsfiddle.net/Lm444sny/1/

我只是好奇它不起作用的原因。文字有点居中,但并不完美。

3 个答案:

答案 0 :(得分:2)

取决于字体本身的行高。 Sone字体有更多的空白步伐,所以似乎没有对齐。

将按钮行高改为47px或不使用内部标签。例如,Chrome将按钮内的文本与显示屏对齐,这是垂直居中的最佳方式。 看一下这个https://philipwalton.github.io/solved-by-flexbox/demos/vertical-centering/

答案 1 :(得分:0)

为什么不使用flex-box?您可以将display:flex应用于按钮,其内容将是一个flex项(在本例中为简单文本)。

答案 2 :(得分:-1)

它取决于vertical-align属性。有时当您使用例如图标字体时,符号可以具有不同的高度。

使用flexboxes可以实现垂直居中的最佳效果:https://css-tricks.com/snippets/css/a-guide-to-flexbox/