第三方@font-face规则未生效 无法将字体应用到h1标签
@font-face 规则不生效排查清单
你提供的@font-face语法本身没有配置错误,可按以下顺序排查问题:
- 跨域资源共享(CORS)限制:如果引用该CSS的页面域名和字体文件所在的域名不一致,浏览器会默认拦截字体文件请求。你可以打开浏览器开发者工具的「网络」面板,筛选「字体」分类,查看woff2/woff文件的请求状态,是否存在CORS报错、403禁止访问的提示。
- CSS选择器优先级覆盖:如果存在其他权重更高的CSS规则(比如带id选择器、!important标记的规则)也指定了h1标签的font-family属性,会覆盖当前定义的规则。可在开发者工具「元素」面板选中对应h1标签,查看计算样式中font-family的最终生效值,如果你定义的
vcr_osd_monoregular被划掉,就说明被更高优先级的规则覆盖了。 - 字体文件加载失败:同样在网络面板检查字体文件的请求状态,是否存在404、500等错误,确认字体文件路径正确、服务端可正常访问该资源。
- 字体渲染时机问题:如果页面h1元素是动态插入、或者CSS是异步加载的,可能出现字体还未加载完成时页面已经完成渲染,后续字体加载完成后没有触发重绘的情况。可在@font-face规则中添加
font-display: swap;属性,强制浏览器在字体加载完成后自动替换已渲染的文本内容。 - 老旧浏览器兼容性问题:woff2和woff格式已覆盖所有现代浏览器,如果你使用的是非常老旧的浏览器访问站点,可能存在格式不支持的情况,会自动降级到系统默认字体。
内容的提问来源于stack exchange,提问作者rxgkit
相关产品推荐
相关产品推荐

