我很想让iOS 7/8正确呈现我的字体。看来iOS不知道如何渲染Helvetica Neue Light(HelveticaNeue-Light / HelveticaNeue-Bold)的粗体。

例如。我有以下CSS选择器:

body {
    font-family: "HelveticaNeue-Light";
}

h1 {
    font-weight: bold;
}

h2 {
    font-weight: 600;
}

和我的标记:
<li>
    <h1>A. Crimson Tide UK (Enabled Customer - UK Depot)</h1>
    <h2>1-14</h2>
    <h2>10:00 - 11:00</h2>
    <p>0914 Desc</p>
</li>

每当我有h1标签时,iOS似乎都会渲染Helvetica Neue Bold(HelveticaNeue-CondensedBold)-而不是Helvetica Neue Bold(HelveticaNeue-Bold)。

这是我的网页的屏幕截图:

为什么渲染Helvetica Neue Condensed Bold而不是Helvetica Bold-我没有在CSS的任何地方设置Condensed!

如果我将h1 font-weight设置为900,它将以Helvetica Neue呈现,并且会稍微粗体,但不是我想要的权重。

如果有人可以对此有所了解,将不胜感激。

在此先感谢您。

最佳答案

我通过定义HelveticaNeue字体来解决此问题,然后指定权重并将其指向相应的本地字体文件,如下所示:

@font-face {
    font-family: "HelveticaNeue";
    font-weight: 100;
    src: local("Helvetica Neue Thin"),
    local("HelveticaNeue-Thin");
}

@font-face {
    font-family: "HelveticaNeue";
    font-weight: 300;
    src: local("Helvetica Neue Light"),
    local("HelveticaNeue-Light");
}

@font-face {
    font-family: "HelveticaNeue";
    font-weight: normal;
    src: local("Helvetica Neue"),
    local("HelveticaNeue");
}

@font-face {
    font-family: "HelveticaNeue";
    font-weight: bold;
    src: local("Helvetica Neue Bold"),
    local("HelveticaNeue-Bold");
}

然后将其分配为主体的首选字体系列和粗细:
body {
    font-family: HelveticaNeue, Helvetica, Arial, Verdana, sans-serif;
    font-weight: 300;
}

这样,所有的权重都在我的控制之下-粗体永远不会变成压缩的粗体,而仍然是粗体。

回到iOS8为何这么做...不知道。

关于ios - CSS字体系列HelveticaNeue-Light不呈现粗体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28211906/

10-14 20:02