这个问题让我很生气,所以如果有人能够提供帮助,请提前谢谢!
我正在尝试在Laravel项目中使用自定义字体,但字体不起作用,我在Chrome控制台中收到此消息:
Failed to decode downloaded font: https://womenbirthphoto.com/fonts/lucyrose-regular-webfont.woff
我对.ttf和.woff2字体有相同的信息。这就是我的CSS代码:
@font-face {
font-family: 'Lucy Rose';
src: url('../fonts/lucyrose-regular-webfont.eot');
src: url('../fonts/lucyrose-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/lucyrose-regular-webfont.woff2') format('woff2'),
url('../fonts/lucyrose-regular-webfont.woff') format('woff'),
url('../fonts/lucyrose-regular-webfont.ttf') format('truetype'),
url('../fonts/lucyrose-regular-webfont.svg#lucy_roseregular') format('svg');
font-weight: normal;
font-style: normal;
}
文件的名称/路径是正确的。这些文件是通过Fontsquirrel webfont生成器生成的。
我觉得我尝试了一切,我不明白为什么会出现这个错误。该字体无法在任何浏览器上运行。
在此先感谢您的帮助!
任何将我的浏览直接指向您的字体文件的尝试都会产生一个空白页面,所以我必须问你是否使用fontsquirrel生成的html文件作为证据在线测试你的字体,因为我怀疑你的字体文件可能已损坏。
您可以尝试使用transfonter.org来检查生成的文件是否一切正常。问候。
好的,所以我终于解决了这个问题,如果这可以帮助将来的某个人,这里就是答案。问题来自我的.htaccess文件,我有这条规则:
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
如您所见,第一行缺少所有字体格式的扩展名。我改为这个问题解决了这个问题:
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|\.woff|\.woff2|\.ttf|\.eot|\.svg|robots\.txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
现在一切正常!希望这可以提供帮助。