使用自定义图标字体填充问题(?).以下示例

cab*_*ady 6 html css icon-fonts

我使用自定义.svg图标创建了一个图标字体,我遇到了填充问题(或者可能是其他问题).我以前的图标不包括任何填充,以防问题出现.

出于某种原因,图标似乎已经转移到应该的位置以上,我找不到任何方法让它们回到容器中.以下是我所谈论的一个例子:http://i.imgur.com/RwOKWLp.png

我已将"背景颜色"设置为黄色以突出显示我的问题.

这是一个图标的HTML:

<div class="vicon" aria-hidden="true" data-icon="&#xe001;"></div>
Run Code Online (Sandbox Code Playgroud)

这是我目前正在使用的CSS:

[data-icon]:before {
    font-family: 'iconfont';
    content: attr(data-icon);
    speak: none;
    font-size: 100%;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

.vicon {
    display: inline-block;
    font-size: 50px;
    margin-top: 1em;
    background-color: yellow;
}
Run Code Online (Sandbox Code Playgroud)

@ font-face代码:

@font-face {
font-family: 'iconfont';
src:url('[font_location_on_company_server].eot');
src:url('[font_location_on_company_server].eot?#iefix') format('embedded-opentype'),
    url('[font_location_on_company_server].woff') format('woff'),
    url('[font_location_on_company_server].ttf') format('truetype'),
    url('[font_location_on_company_server].svg#icon_font') format('svg');
font-weight: normal;
font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会发生这种情况?

Mat*_*Cat 3

问题不在于 CSS,而在于字体的基线高度(请参阅http://icomoon.io/#docs/font-metrics

这意味着字体规格错误。我不知道你是否改变了它们,或者这是否是 Icomoon 的一个错误,但我现在已经能够导出正确的字体了。

无论如何你不能(或者至少你不应该)用 CSS 来“纠正”这个问题。最好的办法就是改变字体。