您似乎使用了latin 子集中不包含的字符。您需要指定包含您在加载字体时使用的字符的附加子集。在您的示例中,您需要替换
https://fonts.googleapis.com/css?family=Roboto:400,700,700italic,900,900italic,500,400italic,500italic,300,300italic
...与:
https://fonts.googleapis.com/css?family=Roboto:400,700,700italic,900,900italic,500,400italic,500italic,300,300italic&subset=latin,latin-ext
注意&subset=latin,latin-ext 后缀。
重要提示:如果奇怪的字符不是与您的语言相关的特殊字母,最可能的原因是您保存的文件和网页之间的编码不同。您需要确保您的 IDE 使用与页面的 <head> 标记中声明的完全相同的编码来保存您的(.php、.html、.css、.js 等)文件。
到目前为止,最好的选择是 UTF-8,但是关于你应该使用什么编码的建议超出了这里的范围。重要的是它们必须匹配。
附加说明:我个人认为您应该简化网站中字体的使用,并尝试大幅限制您当前加载的字体粗细和变体的数量。您当前正在加载300、400、500、700 和900 的权重normal 和italic 变体。您可能只使用400、700 和900,其中一些甚至不需要italic(如果不使用)。
另请注意,您无需更改当前CSS 中的font-weights 即可简化字体使用。如果指定了font-weight 但不存在,浏览器将自动使用最接近的匹配。例如,如果您现在在一个元素上有 font-weight:500,但只加载指定字体的 400 和 700 权重,它将自动在元素上使用 400 而不是 500。
在网页开发中,常用的字体粗细有:
-
thin (
font-weight 属性的无效值 - 在类定义中定义它)通常 font-weight:200; - 通常与大 font-sizes 结合使用,以显示大而非常薄(~@ 987654353@) 信
-
正常(
font-weight 的有效值)通常转换为 font-weight: 400;
-
粗体(
font-weight 的有效值)通常转换为 font-weight: 700;
-
extrabold(
font-weight 的值无效 - 在类定义中定义)通常为 font-weight:900; - 通常用于标题。