为什么Google Font CDN引入字体后无法修改font-weight?
问题排查与解决方案
- 首先验证Google Fonts返回的样式是否正确
在浏览器地址栏直接访问你使用的CDN链接https://fonts.googleapis.com/css2?family=Raleway:wght@500;900&display=swap,检查返回的CSS内容中是否存在2条@font-face规则,分别对应font-weight: 500和font-weight: 900且都绑定到font-family: 'Raleway'。如果仅返回1条规则,说明你的网络环境篡改了返回内容、或者使用的CDN镜像存在异常,可更换Google Fonts镜像源解决。 - 排查本地字体冲突
如果你本地设备安装了Raleway字体,浏览器会优先调用本地字体,若本地版本缺失对应900字重,就会自动 fallback 到已有的字重,出现你描述的优先显示CDN链接中第一个字重的问题。可临时卸载本地的Raleway字体测试,若卸载后恢复正常,即可确认是本地字体冲突,可通过自定义@font-face规则禁用本地字体调用解决。 - 检查CSS优先级与生效情况
打开浏览器开发者工具,选中页面任意文本元素,查看「计算样式」面板的font-weight属性:- 如果实际计算值为500,说明存在更高优先级的CSS规则覆盖了你的body样式,可查看「样式」面板中被划掉的
font-weight: 900规则对应的覆盖来源,修正对应样式即可。 - 如果实际计算值为900但视觉上仍为500,属于字体资源加载问题,切换到「网络」面板刷新页面,检查Raleway 900对应的字体文件(通常为.woff2后缀)是否加载成功,若出现404、拦截等异常,修复网络访问问题即可。
- 如果实际计算值为500,说明存在更高优先级的CSS规则覆盖了你的body样式,可查看「样式」面板中被划掉的
- 临时兜底方案
你也可以直接在CSS中手动声明两个字重的@font-face规则,直接绑定字体文件地址,规避CDN返回异常的问题。
内容的提问来源于stack exchange,提问作者SessionPHP
相关产品推荐
相关产品推荐

