如何让浏览器之间是一致的行高度(How to get consistent line-heights

2019-10-21 08:54发布

这个问题基本上是一个扩展这一个关于我与垂直居中有一个问题 。 寻找这个问题的答案产生了对这个问题的。

看看这个的jsfiddle 。 它建立了一个容器,是60像素高。

.container {
    background-color: lightgreen;
    height: 60px;
    max-height: 60px;
    line-height: 60px;
    font-size: 60px;
}

在Firefox中,它是60px在所有情况下高。 在Chrome,文本高度实际上比更高60px (有时69px ,有时其他的值)。

我可以减少font-size52px得到它排队的正是60px的Chrome(从而给了我一个非常高大的60px高的内联元素,让我和可靠的垂直居中),但是这是具体的不仅是浏览器,但计算机。

我怎样才能得到一个一致的字体高度?

Answer 1:

如果你试试

font-size: 3.29em;

是否跨浏览器的工作?



Answer 2:

每个浏览器都有它的,你可能需要重写自己的预设样式。 在你的CSS的顶部设置此删除任何违约:

html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, em, img, strong, sub, sup, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figure, figcaption, footer, header, hgroup, 
menu, nav, output, section, time {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

然后风格但是你想后。



Answer 3:

我是有包含在按钮和输入文本字段类似的问题。 如果您正在使用Web字体服务,如Fontsquirrel,因为我,请务必检查的字体最佳选择“垂直度量”到“不调整”,在专家模式。 Fontsquirrel默认似乎乱用这些东西。



文章来源: How to get consistent line-heights between browsers