html - CSS 中的 Segoe UI Semilight 不适用于 Chrome

标签 html css fonts font-face

我正在尝试在网页上使用 Segoe UI Light、Segoe UI Semilight 和 Segoe UI。它在 IE 中呈现得很好,但 Chrome 似乎没有区分 Light 和 Semilight。

我正在使用 this StackOverflow answer 上建议的 CSS ,正如 Microsoft 所建议的那样。

/*
Explicitly define a Segoe UI font-family so that we can assign Segoe UI 
Semilight to an appropriate font-weight.
*/
@font-face {
    font-family: "Segoe UI";
    font-weight: 200;
    src: local("Segoe UI Light");
}
@font-face {
    font-family: "Segoe UI";
    font-weight: 300;
    src: local("Segoe UI Semilight");
}
@font-face {
    font-family: "Segoe UI";
    font-weight: 400;
    src: local("Segoe UI");
}
@font-face {
    font-family: "Segoe UI";
    font-weight: 600;
    src: local("Segoe UI Semibold");
}
@font-face {
    font-family: "Segoe UI";
    font-weight: 700;
    src: local("Segoe UI Bold");
}
@font-face {
    font-family: "Segoe UI";
    font-style: italic;
    font-weight: 400;
    src: local("Segoe UI Italic");
}
@font-face {
    font-family: "Segoe UI";
    font-style: italic;
    font-weight: 700;
    src: local("Segoe UI Bold Italic");
}

以下 jsfiddle 显示了 Segoe UI 的各种字体粗细,包括 Light 和 Semilight: http://jsfiddle.net/nHXDA/

这是结果。

Chrome:

enter image description here

IE:

enter image description here

关于如何解决这个问题有什么想法吗?

最佳答案

除了您的字体只会在 Windows 设备上正确显示而在所有其他未安装该字体的设备上会被忽略这一事实之外,您还需要确保您有一个匹配的后备。

第二件事是您的字体定义错误并且不能跨浏览器工作。虽然 Internet Explorer 能够直接使用由 src:local("Segoe UI Semibold"); 指定的正确字体文件,但所有其他浏览器都需要引用该字体系列。 src: local("Segoe UI");.

如果是半粗体,您需要像这样指定字体定义:

@font-face {
    font-family: "Segoe UI";
    font-weight: 300;
    src: local("Segoe UI Semilight"), local("Segoe UI");
}

一旦你修复了你的字体定义,它应该看起来像下面的截图所示。在这些屏幕截图中,您还可以看到,如果使用全名而不是字体系列名称指定字体系列,则字体将回退到 Times New Roman。出现这种情况是因为浏览器无法解析字体名称,这似乎是 IE 独有的。

不确定是不是因为我使用的是本地字体,如果可用的网络字体已经修复,您需要进行额外的调整以使字体看起来不错。可能是网络字体对网络使用有特殊提示。

Various Screenshots of browsers

关于html - CSS 中的 Segoe UI Semilight 不适用于 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27136314/

相关文章:

html - 根据屏幕大小隐藏图像并阻止它们下载?

html - CSS 动画播放不正确 - 断断续续?

javascript - 在单独的工作表中将 HTML 表格导出到 Excel (.xls)

javascript - 使用JS动态添加下拉列表表

jquery - 为什么我的下拉菜单不起作用?

html - 如何使这段文字垂直居中?

css - 如何通过 CSS 设置 'semi-bold' 字体?字体粗细为 600 不会使它看起来像我在 Photoshop 文件中看到的半粗体

java - javax.swing 中的 Unicode 字符仅在使用默认字体大小时显示

html - 文本输入元素内的 Font Awesome 图标

javascript - Html 表单 - 查看和更改信息