CSS全局字体设置失效求助:@font-face全局应用无效果
全局CSS字体设置不生效?这里有几个实用排查方向
嘿,既然你已经确认字体能通过类选择器正常加载显示,那问题基本出在全局样式的优先级或者继承逻辑上,我给你几个靠谱的解决思路:
检查样式优先级冲突
浏览器的默认样式(比如<h1>、<p>、<button>这些元素自带的font-family)或者你自己写的其他局部样式,优先级都会比*选择器高。你可以按下F12打开浏览器开发者工具,选中一个没生效的元素,切换到「Computed」面板查看font-family属性,看看是不是被其他样式划掉(覆盖)了。
解决办法:提升全局样式的优先级,比如用body *代替*,它的优先级比单纯的*更高:body * { font-family: HoftypeLight, sans-serif; }或者更精准地覆盖常见元素(尽量避免
!important这种粗暴方式):body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, button, input, textarea { font-family: HoftypeLight, sans-serif; }补充字体回退方案
虽然你确认字体加载正常,但添加回退字体是个好习惯,能避免极端场景下的显示异常,比如网络波动导致字体加载失败时,会自动使用系统的无衬线字体:* { font-family: HoftypeLight, sans-serif; }完善@font-face的定义
虽然类选择器能用,但完善@font-face可以避免潜在的兼容性问题,比如明确指定字重和字体格式:@font-face { font-family: 'HoftypeLight'; src: url('你的有效字体URL') format('woff2'), url('你的有效字体URL') format('woff'); font-weight: 300; /* 对应Light字重,确保和字体实际属性匹配 */ font-style: normal; }
先试试第一个方法,用开发者工具排查样式覆盖是最快定位问题的方式~
内容的提问来源于stack exchange,提问作者bellotas
相关产品推荐
相关产品推荐

