带有 Assetic 的 Synmfony 2 中 CSS 文件中的 @font-face 规则

Joh*_*nex 5 css fonts symfony assetic

我正在寻找使用 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');
}
Run Code Online (Sandbox Code Playgroud)

我的路径结构是

...  
+-src/  
| +-MyCompany/  
|   +-MyBundle/  
|     +-Resources/  
|       +-public/  
|         +-css/  
|           +-fonts/  
Run Code Online (Sandbox Code Playgroud)

我链接 CSS 文件的路径是

进入css文件的路径

在此处输入图片说明

在此处输入图片说明 我究竟做错了什么 ?

Joh*_*nex 5

我找到了解决方案:

只需将您的 Document.html.twig 放在您链接 css 文件的位置:

<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>
Run Code Online (Sandbox Code Playgroud)

事实上,如果你把它放在 css 文件中,symfony 似乎无法识别代码。图片也是一样的:

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

愉快的周末 !

  • 谢谢你!真正令人恼火的是,任何地方都没有关于此错误的文档。顺便说一下,你应该检查这个作为解决方案。会让别人更容易找到。:) (2认同)