在Symfony 2中使用Assetic的CSS文件中的@font-face规则

5

我希望使用Assetic在Symfony中包含CSS文件中的字体。问题是浏览器无法加载这些字体。

@font-face {
font-family: 'Corbert'; /*a name to be used later*/
src:    url('fonts/Corbert-Regular.otf')  format('opentype'),
        url('fonts/Corbert-Regular.woff') format('woff'),
        url('fonts/Corbert-Regular.ttf') format('truetype');
}

我的路径结构是

...  
+-src/  
| +-MyCompany/  
|   +-MyBundle/  
|     +-Resources/  
|       +-public/  
|         +-css/  
|           +-fonts/  

我的CSS文件链接路径为

CSS文件路径

图片描述

图片描述我做错了什么?


2
你有访问这些文件的正确权限吗? - Ramiz Wachtler
似乎指向正确的资源,您必须修复403错误:权限错误。 - Matteo
我修复了403错误。但我仍然收到错误信息。现在就看你的了。 - Johnrednex
1个回答

5
我找到了解决方案:
只需在链接css文件的Document.html.twig中添加以下内容即可:
<style type="text/css">
  @font-face {
  font-family: 'Corbert'; 
  src:    url({{asset('fonts/Corbert-Regular.otf')}}) format('opentype'), 
    url({{asset('fonts/Corbert-Regular.woff')}}) format('woff'),
    url({{asset('fonts/Corbert-Regular.otf')}}) format('truetype');
  }
</style>

如果您将代码放在CSS文件中,Symfony似乎无法识别该代码。对于图片也是如此:

<style type="text/css">
  body, html{
    background-image:url({{ asset('images/wallpaper.png') }});
  }
<style>

愉快的周末!


2
谢谢!真的很烦人,因为这个错误没有任何文档。顺便说一下,你应该检查这个解决方案。这将使其他人更容易找到。 :) - BILL WAGNER

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接